Skip to content

Commit 2238406

Browse files
committed
Merge branch 'oss_main' into boost_mmap_deprecation
2 parents 4901cbd + 53c4f52 commit 2238406

File tree

309 files changed

+30089
-5925
lines changed

Some content is hidden

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

309 files changed

+30089
-5925
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<!--
2-
Set the PR title to a meaningful commit message in imperative form. E.g.:
3-
4-
clp-s: Don't add implicit wildcards ('*') at the beginning and the end of a query (fixes #390).
2+
Set the PR title to a meaningful commit message that:
3+
- follows the Conventional Commits specification (https://www.conventionalcommits.org).
4+
- is in imperative form.
5+
Example:
6+
fix: Don't add implicit wildcards ('*') at the beginning and the end of a query (fixes #390).
57
-->
68

79
# Description

.github/actions/clp-core-build/action.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ inputs:
88
use_published_image:
99
description: "Whether to use the published container image"
1010
required: true
11+
use_shared_libs:
12+
description: "Whether to build the core binaries by linking against shared libraries"
13+
required: true
1114
upload_binaries:
1215
description: "Whether to upload the core binaries"
1316
required: true
@@ -18,10 +21,6 @@ inputs:
1821
runs:
1922
using: "composite"
2023
steps:
21-
- shell: "bash"
22-
working-directory: "./components/core"
23-
run: "./tools/scripts/deps-download/download-all.sh"
24-
2524
- if: "inputs.use_published_image == 'false'"
2625
uses: "actions/download-artifact@v4"
2726
with:
@@ -46,13 +45,21 @@ runs:
4645
fi
4746
shell: "bash"
4847

48+
- run: "./tools/scripts/deps-download/init.sh"
49+
shell: "bash"
50+
4951
- run: >-
5052
docker run
5153
--user $(id -u):$(id -g)
52-
--volume "$GITHUB_WORKSPACE/components/core":/mnt/clp
54+
--volume "$GITHUB_WORKSPACE":/mnt/clp
5355
--workdir /mnt/clp
5456
${{steps.get_image_props.outputs.qualified_image_name}}
55-
/mnt/clp/tools/scripts/utils/build-and-run-unit-tests.sh . build
57+
bash -c "task deps:core &&
58+
python3 /mnt/clp/components/core/tools/scripts/utils/build-and-run-unit-tests.py
59+
${{inputs.use_shared_libs == 'true' && '--use-shared-libs' || ''}}
60+
--source-dir /mnt/clp/components/core
61+
--build-dir /mnt/clp/components/core/build
62+
--num-jobs $(getconf _NPROCESSORS_ONLN)"
5663
shell: "bash"
5764
5865
- if: "inputs.upload_binaries == 'true'"

.github/workflows/clp-core-build-macos.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,28 @@ on:
88
- "components/core/CMakeLists.txt"
99
- "components/core/src/**"
1010
- "components/core/tests/**"
11-
- "components/core/tools/scripts/lib_install/macos-12/**"
11+
- "components/core/tools/scripts/lib_install/macos/**"
1212
- "components/core/tools/scripts/deps-download/**"
13-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
13+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
14+
- "deps-tasks.yml"
15+
- "Taskfile.yml"
16+
- "tools/scripts/deps-download/**"
1417
push:
1518
paths:
1619
- ".github/workflows/clp-core-build-macos.yaml"
1720
- "components/core/cmake/**"
1821
- "components/core/CMakeLists.txt"
1922
- "components/core/src/**"
2023
- "components/core/tests/**"
21-
- "components/core/tools/scripts/lib_install/macos-12/**"
24+
- "components/core/tools/scripts/lib_install/macos/**"
2225
- "components/core/tools/scripts/deps-download/**"
23-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
26+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
27+
- "deps-tasks.yml"
28+
- "Taskfile.yml"
29+
- "tools/scripts/deps-download/**"
30+
schedule:
31+
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
32+
- cron: "15 0 * * *"
2433
workflow_dispatch:
2534

2635
concurrency:
@@ -30,7 +39,11 @@ concurrency:
3039

3140
jobs:
3241
build-macos:
33-
runs-on: "macos-12"
42+
strategy:
43+
matrix:
44+
runner: ["macos-13", "macos-14"]
45+
use_shared_libs: [true, false]
46+
runs-on: "${{matrix.runner}}"
3447
steps:
3548
- uses: "actions/checkout@v4"
3649
with:
@@ -40,20 +53,28 @@ jobs:
4053
- name: "Remove preinstalled binaries which conflict with brew's installs"
4154
run: |
4255
rm -f /usr/local/bin/2to3*
56+
rm -f /usr/local/bin/go*
4357
rm -f /usr/local/bin/idle3*
4458
rm -f /usr/local/bin/pydoc3*
4559
rm -f /usr/local/bin/python3*
4660
4761
- name: "Install dependencies"
48-
run: "./components/core/tools/scripts/lib_install/macos-12/install-all.sh"
62+
run: "./components/core/tools/scripts/lib_install/macos/install-all.sh"
4963

50-
- name: "Download source dependencies"
64+
- run: "./tools/scripts/deps-download/init.sh"
65+
shell: "bash"
66+
67+
- run: "task deps:core"
5168
shell: "bash"
52-
working-directory: "./components/core"
53-
run: "./tools/scripts/deps-download/download-all.sh"
5469

5570
- name: "Build CLP-core and run unit tests"
5671
shell: "bash"
5772
working-directory: "./components/core"
5873
# NOTE: We omit the Stopwatch tests since GH's macOS runner is too slow
59-
run: "./tools/scripts/utils/build-and-run-unit-tests.sh . build ~[Stopwatch]"
74+
run: >-
75+
python3 ./tools/scripts/utils/build-and-run-unit-tests.py
76+
${{matrix.use_shared_libs == 'true' && '--use-shared-libs' || ''}}
77+
--source-dir .
78+
--build-dir build
79+
--num-jobs $(getconf _NPROCESSORS_ONLN)
80+
--test-spec "~[Stopwatch]"

.github/workflows/clp-core-build.yaml

Lines changed: 49 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,24 @@ on:
88
- ".github/workflows/clp-core-build.yaml"
99
- ".gitmodules"
1010
- "components/core/**"
11-
- "!components/core/tools/scripts/lib_install/macos-12/**"
11+
- "deps-tasks.yml"
12+
- "Taskfile.yml"
13+
- "tools/scripts/deps-download/**"
14+
- "!components/core/tools/scripts/lib_install/macos/**"
1215
push:
1316
paths:
1417
- ".github/actions/clp-core-build/action.yaml"
1518
- ".github/actions/clp-core-build-containers/action.yaml"
1619
- ".github/workflows/clp-core-build.yaml"
1720
- ".gitmodules"
1821
- "components/core/**"
19-
- "!components/core/tools/scripts/lib_install/macos-12/**"
22+
- "deps-tasks.yml"
23+
- "Taskfile.yml"
24+
- "tools/scripts/deps-download/**"
25+
- "!components/core/tools/scripts/lib_install/macos/**"
26+
schedule:
27+
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
28+
- cron: "15 0 * * *"
2029
workflow_dispatch:
2130

2231
env:
@@ -30,7 +39,7 @@ jobs:
3039
filter-relevant-changes:
3140
runs-on: "ubuntu-latest"
3241
outputs:
33-
centos74_image_changed: "${{steps.filter.outputs.centos74_image}}"
42+
centos_stream_9_image_changed: "${{steps.filter.outputs.centos_stream_9_image}}"
3443
ubuntu_focal_image_changed: "${{steps.filter.outputs.ubuntu_focal_image}}"
3544
ubuntu_jammy_image_changed: "${{steps.filter.outputs.ubuntu_jammy_image}}"
3645
clp_changed: "${{steps.filter.outputs.clp}}"
@@ -57,12 +66,12 @@ jobs:
5766
# image (since it would be different from the published image).
5867
base: "main"
5968
filters: |
60-
centos74_image:
69+
centos_stream_9_image:
6170
- ".github/actions/**"
6271
- ".github/workflows/clp-core-build.yaml"
6372
- "components/core/tools/scripts/lib_install/*.sh"
64-
- "components/core/tools/docker-images/clp-env-base-centos7.4/**"
65-
- "components/core/tools/scripts/lib_install/centos7.4/**"
73+
- "components/core/tools/docker-images/clp-env-base-centos-stream-9/**"
74+
- "components/core/tools/scripts/lib_install/centos-stream-9/**"
6675
ubuntu_focal_image:
6776
- ".github/actions/**"
6877
- ".github/workflows/clp-core-build.yaml"
@@ -83,11 +92,13 @@ jobs:
8392
- "components/core/CMakeLists.txt"
8493
- "components/core/src/**"
8594
- "components/core/tests/**"
86-
- "components/core/tools/scripts/deps-download/**"
87-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
95+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
96+
- "deps-tasks.yml"
97+
- "Taskfile.yml"
98+
- "tools/scripts/deps-download/**"
8899
89-
centos74-deps-image:
90-
if: "needs.filter-relevant-changes.outputs.centos74_image_changed == 'true'"
100+
centos-stream-9-deps-image:
101+
if: "needs.filter-relevant-changes.outputs.centos_stream_9_image_changed == 'true'"
91102
needs: "filter-relevant-changes"
92103
runs-on: "ubuntu-latest"
93104
steps:
@@ -101,7 +112,7 @@ jobs:
101112

102113
- uses: "./.github/actions/clp-core-build-containers"
103114
env:
104-
OS_NAME: "centos7.4"
115+
OS_NAME: "centos-stream-9"
105116
with:
106117
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
107118
docker_context: "components/core"
@@ -161,14 +172,19 @@ jobs:
161172
${{github.event_name != 'pull_request' && github.ref == 'refs/heads/main'}}
162173
token: "${{secrets.GITHUB_TOKEN}}"
163174

164-
centos74-binaries:
175+
centos-stream-9-binaries:
165176
# Run if the ancestor jobs succeeded OR they were skipped and clp was changed.
166177
if: >-
167178
success()
168179
|| (!cancelled() && !failure() && needs.filter-relevant-changes.outputs.clp_changed == 'true')
169180
needs:
170-
- "centos74-deps-image"
181+
- "centos-stream-9-deps-image"
171182
- "filter-relevant-changes"
183+
strategy:
184+
matrix:
185+
use_shared_libs: [true, false]
186+
name: "centos-stream-9-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
187+
continue-on-error: true
172188
runs-on: "ubuntu-latest"
173189
steps:
174190
- uses: "actions/checkout@v4"
@@ -181,11 +197,12 @@ jobs:
181197

182198
- uses: "./.github/actions/clp-core-build"
183199
env:
184-
OS_NAME: "centos7.4"
200+
OS_NAME: "centos-stream-9"
185201
with:
186202
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
203+
use_shared_libs: "${{matrix.use_shared_libs}}"
187204
use_published_image: >-
188-
${{needs.filter-relevant-changes.outputs.centos74_image_changed == 'false'
205+
${{needs.filter-relevant-changes.outputs.centos_stream_9_image_changed == 'false'
189206
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
190207
upload_binaries: "false"
191208

@@ -197,6 +214,15 @@ jobs:
197214
needs:
198215
- "filter-relevant-changes"
199216
- "ubuntu-focal-deps-image"
217+
strategy:
218+
matrix:
219+
include:
220+
- use_shared_libs: true
221+
upload_binaries: false
222+
- use_shared_libs: false
223+
upload_binaries: true
224+
name: "ubuntu-focal-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
225+
continue-on-error: true
200226
runs-on: "ubuntu-latest"
201227
steps:
202228
- uses: "actions/checkout@v4"
@@ -212,10 +238,11 @@ jobs:
212238
OS_NAME: "ubuntu-focal"
213239
with:
214240
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
241+
use_shared_libs: "${{matrix.use_shared_libs}}"
215242
use_published_image: >-
216243
${{needs.filter-relevant-changes.outputs.ubuntu_focal_image_changed == 'false'
217244
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
218-
upload_binaries: "true"
245+
upload_binaries: "${{matrix.upload_binaries}}"
219246
binaries_artifact_name: "${{env.BINARIES_ARTIFACT_NAME_PREFIX}}${{env.OS_NAME}}"
220247

221248
ubuntu-jammy-binaries:
@@ -226,6 +253,11 @@ jobs:
226253
needs:
227254
- "filter-relevant-changes"
228255
- "ubuntu-jammy-deps-image"
256+
strategy:
257+
matrix:
258+
use_shared_libs: [true, false]
259+
name: "ubuntu-jammy-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
260+
continue-on-error: true
229261
runs-on: "ubuntu-latest"
230262
steps:
231263
- uses: "actions/checkout@v4"
@@ -241,6 +273,7 @@ jobs:
241273
OS_NAME: "ubuntu-jammy"
242274
with:
243275
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
276+
use_shared_libs: "${{matrix.use_shared_libs}}"
244277
use_published_image: >-
245278
${{needs.filter-relevant-changes.outputs.ubuntu_jammy_image_changed == 'false'
246279
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}

.github/workflows/clp-docs.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: "clp-docs"
2+
3+
on:
4+
pull_request:
5+
push:
6+
schedule:
7+
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
8+
- cron: "15 0 * * *"
9+
workflow_dispatch:
10+
11+
concurrency:
12+
group: "${{github.workflow}}-${{github.ref}}"
13+
# Cancel in-progress jobs for efficiency
14+
cancel-in-progress: true
15+
16+
jobs:
17+
build:
18+
strategy:
19+
matrix:
20+
os: ["macos-latest", "ubuntu-latest"]
21+
runs-on: "${{matrix.os}}"
22+
steps:
23+
- uses: "actions/checkout@v4"
24+
with:
25+
submodules: "recursive"
26+
27+
- uses: "actions/setup-python@v5"
28+
with:
29+
python-version: "3.10"
30+
31+
- name: "Install task"
32+
shell: "bash"
33+
run: "npm install -g @go-task/cli"
34+
35+
- if: "matrix.os == 'macos-latest'"
36+
name: "Install coreutils (for md5sum)"
37+
run: "brew install coreutils"
38+
39+
- name: "Build docs"
40+
shell: "bash"
41+
run: "task docs:site"

.github/workflows/clp-execution-image-build.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ on:
1111
- ".github/actions/clp-execution-image-build/action.yaml"
1212
- ".github/workflows/clp-execution-image-build.yaml"
1313
- "tools/docker-images/**/*"
14+
schedule:
15+
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
16+
- cron: "15 0 * * *"
1417
workflow_dispatch:
1518

1619
concurrency:

.github/workflows/clp-lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
pull_request:
55
push:
66
schedule:
7-
# Run at midnight UTC every day with 15 minutes delay added to avoid high load periods
7+
# Run daily at 00:15 UTC (the 15 is to avoid periods of high load)
88
- cron: "15 0 * * *"
99
workflow_dispatch:
1010

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: "clp-pr-title-checks"
2+
3+
on:
4+
pull_request_target:
5+
types: ["edited", "opened", "reopened"]
6+
branches: ["main"]
7+
8+
concurrency:
9+
group: "${{github.workflow}}-${{github.ref}}"
10+
11+
# Cancel in-progress jobs for efficiency
12+
cancel-in-progress: true
13+
14+
jobs:
15+
conventional-commits:
16+
permissions:
17+
# For amannn/action-semantic-pull-request
18+
pull-requests: "read"
19+
runs-on: "ubuntu-latest"
20+
steps:
21+
- uses: "amannn/action-semantic-pull-request@v5"
22+
env:
23+
GITHUB_TOKEN: "${{secrets.GITHUB_TOKEN}}"

0 commit comments

Comments
 (0)