Skip to content

Commit 600bac8

Browse files
committed
Merge branch 'develop'
2 parents 18ed7c1 + 3755fab commit 600bac8

File tree

130 files changed

+1359
-632
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+1359
-632
lines changed

.circleci/config.yml

+49-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
# Copyright (c) 2018 Mateusz Loskot <[email protected]>
55
# Copyright (c) 2018-2021 Adam Wulkiewicz, Lodz, Poland
66
#
7+
# This file was modified by Oracle on 2023.
8+
# Modifications copyright (c) 2023 Oracle and/or its affiliates.
9+
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
10+
#
711
# Use, modification and distribution is subject to the Boost Software License,
812
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
913
# http://www.boost.org/LICENSE_1_0.txt)
@@ -19,8 +23,8 @@ environment: &environment
1923
# Docker image
2024
docker: &docker
2125
docker:
22-
# gcc-6.0, ruby-2.3, sudo, curl
23-
- image: circleci/ruby:2.3
26+
# gcc-9.3, ruby-2.3, sudo, curl
27+
- image: cimg/base:stable-20.04
2428

2529
# Build configuration
2630
config: &config
@@ -60,7 +64,7 @@ jobs:
6064
git submodule update --init tools/build
6165
git submodule update --init libs/config
6266
git submodule update --init tools/boostdep
63-
python tools/boostdep/depinst/depinst.py geometry -I index/test
67+
python3 tools/boostdep/depinst/depinst.py geometry -I index/test
6468
./bootstrap.sh
6569
./b2 headers
6670
- run: mkdir $COVERAGE_DIR
@@ -94,6 +98,24 @@ jobs:
9498
root: ~/project
9599
paths:
96100
- shared-coverage/algorithms_buffer
101+
algorithms_closest_points:
102+
<<: *config
103+
steps:
104+
- *attach_workspace
105+
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh algorithms_closest_points test/algorithms/closest_points 1
106+
- persist_to_workspace:
107+
root: ~/project
108+
paths:
109+
- shared-coverage/algorithms_closest_points
110+
algorithms_convex_hull:
111+
<<: *config
112+
steps:
113+
- *attach_workspace
114+
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh algorithms_convex_hull test/algorithms/convex_hull
115+
- persist_to_workspace:
116+
root: ~/project
117+
paths:
118+
- shared-coverage/algorithms_convex_hull
97119
algorithms_covered_by:
98120
<<: *config
99121
steps:
@@ -331,6 +353,15 @@ jobs:
331353
root: ~/project
332354
paths:
333355
- shared-coverage/policies
356+
robustness:
357+
<<: *config
358+
steps:
359+
- *attach_workspace
360+
- run: ./$BOOST_DIR/libs/geometry/.circleci/run_test.sh robustness test/robustness
361+
- persist_to_workspace:
362+
root: ~/project
363+
paths:
364+
- shared-coverage/robustness
334365
srs:
335366
<<: *config
336367
steps:
@@ -422,12 +453,14 @@ jobs:
422453
steps:
423454
- *attach_workspace
424455
- run: ls -lah $COVERAGE_DIR
456+
- run: sudo apt-get update
425457
- run: sudo apt-get install lcov
426458
- run: lcov --directory $COVERAGE_DIR --base-directory $BOOST_DIR --capture --output-file $COVERAGE_DIR/coverage.info
427459
- run: lcov --extract $COVERAGE_DIR/coverage.info "*/boost/geometry/*" "*/libs/geometry/include/*" --output-file $COVERAGE_DIR/coverage.info
428460
- run: sed -i 's/SF:.*boost\/geometry/SF:boost\/geometry/g' $COVERAGE_DIR/coverage.info
429461
#Coveralls
430-
- run: gem install coveralls-lcov
462+
- run: sudo apt-get install rubygems
463+
- run: sudo gem install coveralls-lcov
431464
- run: sudo apt-get install jq
432465
- run: cd $BOOST_DIR/libs/geometry/include && coveralls-lcov --repo-token=$COVERALLS_REPO_TOKEN -v -n ../../../../$COVERAGE_DIR/coverage.info > ../../../../$COVERAGE_DIR/coverage.json
433466
- run: jq -c ".service_name = \"circle-ci\" | .service_number = \"$CIRCLE_BUILD_NUM\" | .git .branch =\"$CIRCLE_BRANCH\"" $COVERAGE_DIR/coverage.json > $COVERAGE_DIR/processed.json
@@ -462,6 +495,7 @@ requires_2: &requires_2
462495
- io
463496
- iterators
464497
- policies
498+
- robustness
465499
- strategies
466500
- views
467501

@@ -470,6 +504,8 @@ requires_3: &requires_3
470504
- algorithms
471505
- algorithms_area
472506
- algorithms_buffer
507+
- algorithms_closest_points
508+
- algorithms_convex_hull
473509
- algorithms_covered_by
474510
- algorithms_crosses
475511
- algorithms_disjoint
@@ -550,6 +586,9 @@ workflows:
550586
- policies:
551587
<<: *requires_1
552588
<<: *only_master_develop
589+
- robustness:
590+
<<: *requires_1
591+
<<: *only_master_develop
553592
- strategies:
554593
<<: *requires_1
555594
<<: *only_master_develop
@@ -566,6 +605,12 @@ workflows:
566605
- algorithms_buffer:
567606
<<: *requires_2
568607
<<: *only_master_develop
608+
- algorithms_closest_points:
609+
<<: *requires_2
610+
<<: *only_master_develop
611+
- algorithms_convex_hull:
612+
<<: *requires_2
613+
<<: *only_master_develop
569614
- algorithms_covered_by:
570615
<<: *requires_2
571616
<<: *only_master_develop

.circleci/run_test.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fi
1818

1919
cd $BOOST_DIR
2020

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

2323
EXIT_STATUS=$?
2424

.github/workflows/headers.yml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
##############################################################################
2+
# GitHub Actions Workflow for Boost.Geometry to check if all headers compile
3+
# independently
4+
#
5+
# Copyright (c) 2023, Oracle and/or its affiliates.
6+
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
7+
#
8+
# Use, modification and distribution is subject to the Boost Software License,
9+
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
10+
# http://www.boost.org/LICENSE_1_0.txt)
11+
##############################################################################
12+
name: headers
13+
14+
on: [push, pull_request]
15+
16+
jobs:
17+
build:
18+
name: Compile headers
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Set up environment
22+
id: setenv
23+
run: |
24+
if [[ "$GITHUB_REF" == *master ]]; then
25+
echo "BOOST_BRANCH=master" >> $GITHUB_ENV
26+
else
27+
echo "BOOST_BRANCH=develop" >> $GITHUB_ENV
28+
fi
29+
echo "BOOST_SELF=$(basename $GITHUB_WORKSPACE)" >> $GITHUB_ENV
30+
echo "BOOST_ROOT=$GITHUB_WORKSPACE/boost-root" >> $GITHUB_ENV
31+
echo "::set-output name=boost_self::$(basename $GITHUB_WORKSPACE)"
32+
echo "::set-output name=boost_root::$GITHUB_WORKSPACE/boost-root"
33+
34+
- name: Clone boostorg/boost
35+
run: |
36+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git $BOOST_ROOT
37+
cd $BOOST_ROOT
38+
git submodule update -q --init libs/headers
39+
git submodule update -q --init tools/boost_install
40+
git submodule update -q --init tools/boostbook
41+
git submodule update -q --init tools/boostdep
42+
git submodule update -q --init tools/build
43+
git submodule update -q --init tools/quickbook
44+
mkdir -p libs/$BOOST_SELF
45+
46+
- uses: actions/checkout@v2
47+
with:
48+
path: ${{ steps.setenv.outputs.boost_root }}/libs/${{ steps.setenv.outputs.boost_self }}
49+
50+
- name: Run tools/boostdep/depinst/depinst.py
51+
run: |
52+
cd $BOOST_ROOT
53+
python tools/boostdep/depinst/depinst.py ../tools/quickbook
54+
python tools/boostdep/depinst/depinst.py --include benchmark --include example --include examples --include tools $BOOST_SELF
55+
56+
- name: Bootstrap boostorg/boost
57+
run: |
58+
gcc --version
59+
cd $BOOST_ROOT
60+
./bootstrap.sh --with-toolset=gcc
61+
./b2 headers
62+
test -f /usr/local/bin/b2 && rm -rf /usr/local/bin/b2
63+
test -f /usr/local/bin/bjam && rm -rf /usr/local/bin/bjam
64+
sudo cp $BOOST_ROOT/b2 /usr/local/bin/
65+
ls -l /usr/local/bin/b2
66+
b2 -v
67+
68+
- name: Build libs/geometry/test/headers
69+
run: |
70+
cd $BOOST_ROOT
71+
$BOOST_ROOT/b2 libs/geometry/test/headers

.github/workflows/minimal.yml

+57-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Copyright (c) 2020 Mateusz Loskot <[email protected]>
55
# Copyright (c) 2020-2021 Adam Wulkiewicz, Lodz, Poland
66
#
7-
# Copyright (c) 2022 Oracle and/or its affiliates.
7+
# Copyright (c) 2022-2023 Oracle and/or its affiliates.
88
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
99
#
1010
# Use, modification and distribution is subject to the Boost Software License,
@@ -19,7 +19,7 @@ jobs:
1919
##############################################################################
2020
clang:
2121
name: ${{ matrix.b2_toolset }}
22-
runs-on: ubuntu-20.04
22+
runs-on: ${{ matrix.os }}
2323

2424
strategy:
2525
fail-fast: false
@@ -32,39 +32,65 @@ jobs:
3232
clang-7,
3333
clang-8,
3434
clang-9,
35-
clang-10
35+
clang-10,
36+
clang-11,
37+
clang-12,
38+
clang-13,
39+
clang-14
3640
]
3741

3842
include:
3943
- b2_toolset: clang-3.9
4044
b2_cxxstd: 14
4145
version: "3.9"
46+
os: ubuntu-20.04
4247
- b2_toolset: clang-4.0
4348
b2_cxxstd: 14
4449
version: "4.0"
50+
os: ubuntu-20.04
4551
- b2_toolset: clang-5.0
4652
b2_cxxstd: 14
4753
version: "5.0"
54+
os: ubuntu-20.04
4855
- b2_toolset: clang-6.0
4956
b2_cxxstd: 14
5057
version: "6.0"
58+
os: ubuntu-20.04
5159
- b2_toolset: clang-7
5260
b2_cxxstd: 14,17
5361
version: "7"
62+
os: ubuntu-20.04
5463
- b2_toolset: clang-8
5564
b2_cxxstd: 14,17
5665
version: "8"
66+
os: ubuntu-20.04
5767
- b2_toolset: clang-9
5868
# At some point compilation started to fail with 2a from unknown reason
5969
# It may have something to do with the std library
6070
#b2_cxxstd: 14,17,2a
6171
b2_cxxstd: 14,17
6272
version: "9"
73+
os: ubuntu-20.04
6374
- b2_toolset: clang-10
6475
b2_cxxstd: 14,17,2a
6576
version: "10"
66-
67-
77+
os: ubuntu-20.04
78+
- b2_toolset: clang-11
79+
b2_cxxstd: 14,17,2a
80+
version: "11"
81+
os: ubuntu-22.04
82+
- b2_toolset: clang-12
83+
b2_cxxstd: 14,17,2a
84+
version: "12"
85+
os: ubuntu-22.04
86+
- b2_toolset: clang-13
87+
b2_cxxstd: 14,17,2a
88+
version: "13"
89+
os: ubuntu-22.04
90+
- b2_toolset: clang-14
91+
b2_cxxstd: 14,17,2a
92+
version: "14"
93+
os: ubuntu-22.04
6894
steps:
6995
- name: Set up environment
7096
id: setenv
@@ -139,7 +165,7 @@ jobs:
139165
##############################################################################
140166
gcc:
141167
name: ${{ matrix.b2_toolset }}
142-
runs-on: ubuntu-20.04
168+
runs-on: ${{ matrix.os }}
143169

144170
strategy:
145171
fail-fast: false
@@ -149,25 +175,40 @@ jobs:
149175
gcc-6,
150176
gcc-7,
151177
gcc-8,
152-
gcc-9
178+
gcc-9,
179+
gcc-10,
180+
gcc-11
153181
]
154182

155183
include:
156184
- b2_toolset: gcc-5
157185
b2_cxxstd: 14
158186
version: "5"
187+
os: ubuntu-20.04
159188
- b2_toolset: gcc-6
160189
b2_cxxstd: 14
161190
version: "6"
191+
os: ubuntu-20.04
162192
- b2_toolset: gcc-7
163193
b2_cxxstd: 14,17
164194
version: "7"
195+
os: ubuntu-20.04
165196
- b2_toolset: gcc-8
166197
b2_cxxstd: 14,17
167198
version: "8"
199+
os: ubuntu-20.04
168200
- b2_toolset: gcc-9
169201
b2_cxxstd: 14,17,2a
170202
version: "9"
203+
os: ubuntu-20.04
204+
- b2_toolset: gcc-10
205+
b2_cxxstd: 14,17,2a
206+
version: "10"
207+
os: ubuntu-22.04
208+
- b2_toolset: gcc-11
209+
b2_cxxstd: 14,17,2a
210+
version: "11"
211+
os: ubuntu-22.04
171212

172213
steps:
173214
- name: Set up environment
@@ -205,6 +246,8 @@ jobs:
205246
- name: Install
206247
run: |
207248
# Required for compilers not available in ubuntu 20.04
249+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
250+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
208251
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial main"
209252
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe"
210253
sudo add-apt-repository "deb http://dk.archive.ubuntu.com/ubuntu/ bionic main"
@@ -239,12 +282,18 @@ jobs:
239282
fail-fast: false
240283
matrix:
241284
b2_toolset: [
242-
msvc-14.3
285+
msvc-14.3,
286+
msvc-15,
287+
msvc-16,
243288
]
244289

245290
include:
246291
- b2_toolset: msvc-14.3
247292
b2_cxxstd: 14,17,2a
293+
- b2_toolset: msvc-15
294+
b2_cxxstd: 14,17,2a
295+
- b2_toolset: msvc-16
296+
b2_cxxstd: 14,17,2a
248297

249298
steps:
250299
- name: Set up environment

0 commit comments

Comments
 (0)