Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
vissarion committed Jul 28, 2023
2 parents 18ed7c1 + 3755fab commit 600bac8
Show file tree
Hide file tree
Showing 130 changed files with 1,359 additions and 632 deletions.
53 changes: 49 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# Copyright (c) 2018 Mateusz Loskot <mateusz@loskot.net>
# Copyright (c) 2018-2021 Adam Wulkiewicz, Lodz, Poland
#
# This file was modified by Oracle on 2023.
# Modifications copyright (c) 2023 Oracle and/or its affiliates.
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
#
# Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
Expand All @@ -19,8 +23,8 @@ environment: &environment
# Docker image
docker: &docker
docker:
# gcc-6.0, ruby-2.3, sudo, curl
- image: circleci/ruby:2.3
# gcc-9.3, ruby-2.3, sudo, curl
- image: cimg/base:stable-20.04

# Build configuration
config: &config
Expand Down Expand Up @@ -60,7 +64,7 @@ jobs:
git submodule update --init tools/build
git submodule update --init libs/config
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py geometry -I index/test
python3 tools/boostdep/depinst/depinst.py geometry -I index/test
./bootstrap.sh
./b2 headers
- run: mkdir $COVERAGE_DIR
Expand Down Expand Up @@ -94,6 +98,24 @@ jobs:
root: ~/project
paths:
- shared-coverage/algorithms_buffer
algorithms_closest_points:
<<: *config
steps:
- *attach_workspace
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh algorithms_closest_points test/algorithms/closest_points 1
- persist_to_workspace:
root: ~/project
paths:
- shared-coverage/algorithms_closest_points
algorithms_convex_hull:
<<: *config
steps:
- *attach_workspace
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh algorithms_convex_hull test/algorithms/convex_hull
- persist_to_workspace:
root: ~/project
paths:
- shared-coverage/algorithms_convex_hull
algorithms_covered_by:
<<: *config
steps:
Expand Down Expand Up @@ -331,6 +353,15 @@ jobs:
root: ~/project
paths:
- shared-coverage/policies
robustness:
<<: *config
steps:
- *attach_workspace
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh robustness test/robustness
- persist_to_workspace:
root: ~/project
paths:
- shared-coverage/robustness
srs:
<<: *config
steps:
Expand Down Expand Up @@ -422,12 +453,14 @@ jobs:
steps:
- *attach_workspace
- run: ls -lah $COVERAGE_DIR
- run: sudo apt-get update
- run: sudo apt-get install lcov
- run: lcov --directory $COVERAGE_DIR --base-directory $BOOST_DIR --capture --output-file $COVERAGE_DIR/coverage.info
- run: lcov --extract $COVERAGE_DIR/coverage.info "*/boost/geometry/*" "*/libs/geometry/include/*" --output-file $COVERAGE_DIR/coverage.info
- run: sed -i 's/SF:.*boost\/geometry/SF:boost\/geometry/g' $COVERAGE_DIR/coverage.info
#Coveralls
- run: gem install coveralls-lcov
- run: sudo apt-get install rubygems
- run: sudo gem install coveralls-lcov
- run: sudo apt-get install jq
- run: cd $BOOST_DIR/libs/geometry/include && coveralls-lcov --repo-token=$COVERALLS_REPO_TOKEN -v -n ../../../../$COVERAGE_DIR/coverage.info > ../../../../$COVERAGE_DIR/coverage.json
- run: jq -c ".service_name = \"circle-ci\" | .service_number = \"$CIRCLE_BUILD_NUM\" | .git .branch =\"$CIRCLE_BRANCH\"" $COVERAGE_DIR/coverage.json > $COVERAGE_DIR/processed.json
Expand Down Expand Up @@ -462,6 +495,7 @@ requires_2: &requires_2
- io
- iterators
- policies
- robustness
- strategies
- views

Expand All @@ -470,6 +504,8 @@ requires_3: &requires_3
- algorithms
- algorithms_area
- algorithms_buffer
- algorithms_closest_points
- algorithms_convex_hull
- algorithms_covered_by
- algorithms_crosses
- algorithms_disjoint
Expand Down Expand Up @@ -550,6 +586,9 @@ workflows:
- policies:
<<: *requires_1
<<: *only_master_develop
- robustness:
<<: *requires_1
<<: *only_master_develop
- strategies:
<<: *requires_1
<<: *only_master_develop
Expand All @@ -566,6 +605,12 @@ workflows:
- algorithms_buffer:
<<: *requires_2
<<: *only_master_develop
- algorithms_closest_points:
<<: *requires_2
<<: *only_master_develop
- algorithms_convex_hull:
<<: *requires_2
<<: *only_master_develop
- algorithms_covered_by:
<<: *requires_2
<<: *only_master_develop
Expand Down
2 changes: 1 addition & 1 deletion .circleci/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ fi

cd $BOOST_DIR

./b2 -j$TEST_NPARALLEL cxxflags="--coverage" linkflags="--coverage" libs/geometry/$TEST_DIR
./b2 -j$TEST_NPARALLEL toolset=gcc cxxflags="--coverage" linkflags="--coverage" libs/geometry/$TEST_DIR

EXIT_STATUS=$?

Expand Down
71 changes: 71 additions & 0 deletions .github/workflows/headers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
##############################################################################
# GitHub Actions Workflow for Boost.Geometry to check if all headers compile
# independently
#
# Copyright (c) 2023, Oracle and/or its affiliates.
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
#
# Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
##############################################################################
name: headers

on: [push, pull_request]

jobs:
build:
name: Compile headers
runs-on: ubuntu-latest
steps:
- name: Set up environment
id: setenv
run: |
if [[ "$GITHUB_REF" == *master ]]; then
echo "BOOST_BRANCH=master" >> $GITHUB_ENV
else
echo "BOOST_BRANCH=develop" >> $GITHUB_ENV
fi
echo "BOOST_SELF=$(basename $GITHUB_WORKSPACE)" >> $GITHUB_ENV
echo "BOOST_ROOT=$GITHUB_WORKSPACE/boost-root" >> $GITHUB_ENV
echo "::set-output name=boost_self::$(basename $GITHUB_WORKSPACE)"
echo "::set-output name=boost_root::$GITHUB_WORKSPACE/boost-root"
- name: Clone boostorg/boost
run: |
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $BOOST_ROOT
cd $BOOST_ROOT
git submodule update -q --init libs/headers
git submodule update -q --init tools/boost_install
git submodule update -q --init tools/boostbook
git submodule update -q --init tools/boostdep
git submodule update -q --init tools/build
git submodule update -q --init tools/quickbook
mkdir -p libs/$BOOST_SELF
- uses: actions/checkout@v2
with:
path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }}

- name: Run tools/boostdep/depinst/depinst.py
run: |
cd $BOOST_ROOT
python tools/boostdep/depinst/depinst.py ../tools/quickbook
python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $BOOST_SELF
- name: Bootstrap boostorg/boost
run: |
gcc --version
cd $BOOST_ROOT
./bootstrap.sh --with-toolset=gcc
./b2 headers
test -f /usr/local/bin/b2 && rm -rf /usr/local/bin/b2
test -f /usr/local/bin/bjam && rm -rf /usr/local/bin/bjam
sudo cp $BOOST_ROOT/b2 /usr/local/bin/
ls -l /usr/local/bin/b2
b2 -v
- name: Build libs/geometry/test/headers
run: |
cd $BOOST_ROOT
$BOOST_ROOT/b2 libs/geometry/test/headers
65 changes: 57 additions & 8 deletions .github/workflows/minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Copyright (c) 2020 Mateusz Loskot <mateusz@loskot.net>
# Copyright (c) 2020-2021 Adam Wulkiewicz, Lodz, Poland
#
# Copyright (c) 2022 Oracle and/or its affiliates.
# Copyright (c) 2022-2023 Oracle and/or its affiliates.
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
#
# Use, modification and distribution is subject to the Boost Software License,
Expand All @@ -19,7 +19,7 @@ jobs:
##############################################################################
clang:
name: ${{ matrix.b2_toolset }}
runs-on: ubuntu-20.04
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
Expand All @@ -32,39 +32,65 @@ jobs:
clang-7,
clang-8,
clang-9,
clang-10
clang-10,
clang-11,
clang-12,
clang-13,
clang-14
]

include:
- b2_toolset: clang-3.9
b2_cxxstd: 14
version: "3.9"
os: ubuntu-20.04
- b2_toolset: clang-4.0
b2_cxxstd: 14
version: "4.0"
os: ubuntu-20.04
- b2_toolset: clang-5.0
b2_cxxstd: 14
version: "5.0"
os: ubuntu-20.04
- b2_toolset: clang-6.0
b2_cxxstd: 14
version: "6.0"
os: ubuntu-20.04
- b2_toolset: clang-7
b2_cxxstd: 14,17
version: "7"
os: ubuntu-20.04
- b2_toolset: clang-8
b2_cxxstd: 14,17
version: "8"
os: ubuntu-20.04
- b2_toolset: clang-9
# At some point compilation started to fail with 2a from unknown reason
# It may have something to do with the std library
#b2_cxxstd: 14,17,2a
b2_cxxstd: 14,17
version: "9"
os: ubuntu-20.04
- b2_toolset: clang-10
b2_cxxstd: 14,17,2a
version: "10"


os: ubuntu-20.04
- b2_toolset: clang-11
b2_cxxstd: 14,17,2a
version: "11"
os: ubuntu-22.04
- b2_toolset: clang-12
b2_cxxstd: 14,17,2a
version: "12"
os: ubuntu-22.04
- b2_toolset: clang-13
b2_cxxstd: 14,17,2a
version: "13"
os: ubuntu-22.04
- b2_toolset: clang-14
b2_cxxstd: 14,17,2a
version: "14"
os: ubuntu-22.04
steps:
- name: Set up environment
id: setenv
Expand Down Expand Up @@ -139,7 +165,7 @@ jobs:
##############################################################################
gcc:
name: ${{ matrix.b2_toolset }}
runs-on: ubuntu-20.04
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
Expand All @@ -149,25 +175,40 @@ jobs:
gcc-6,
gcc-7,
gcc-8,
gcc-9
gcc-9,
gcc-10,
gcc-11
]

include:
- b2_toolset: gcc-5
b2_cxxstd: 14
version: "5"
os: ubuntu-20.04
- b2_toolset: gcc-6
b2_cxxstd: 14
version: "6"
os: ubuntu-20.04
- b2_toolset: gcc-7
b2_cxxstd: 14,17
version: "7"
os: ubuntu-20.04
- b2_toolset: gcc-8
b2_cxxstd: 14,17
version: "8"
os: ubuntu-20.04
- b2_toolset: gcc-9
b2_cxxstd: 14,17,2a
version: "9"
os: ubuntu-20.04
- b2_toolset: gcc-10
b2_cxxstd: 14,17,2a
version: "10"
os: ubuntu-22.04
- b2_toolset: gcc-11
b2_cxxstd: 14,17,2a
version: "11"
os: ubuntu-22.04

steps:
- name: Set up environment
Expand Down Expand Up @@ -205,6 +246,8 @@ jobs:
- name: Install
run: |
# Required for compilers not available in ubuntu 20.04
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial main"
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe"
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ bionic main"
Expand Down Expand Up @@ -239,12 +282,18 @@ jobs:
fail-fast: false
matrix:
b2_toolset: [
msvc-14.3
msvc-14.3,
msvc-15,
msvc-16,
]

include:
- b2_toolset: msvc-14.3
b2_cxxstd: 14,17,2a
- b2_toolset: msvc-15
b2_cxxstd: 14,17,2a
- b2_toolset: msvc-16
b2_cxxstd: 14,17,2a

steps:
- name: Set up environment
Expand Down
Loading

0 comments on commit 600bac8

Please sign in to comment.