Skip to content

Commit fcccda9

Browse files
committed
Merge remote-tracking branch 'upstream/main' into releases
2 parents c476557 + c7df1d1 commit fcccda9

File tree

418 files changed

+7635
-4043
lines changed

Some content is hidden

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

418 files changed

+7635
-4043
lines changed

.github/actions/dependencies/action.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ inputs:
2626
description: 'Whether to do a full dependency installation including Geant4 datasets and Python packages'
2727
required: false
2828
default: 'false'
29+
env_file:
30+
description: 'Where to generate the environment file'
31+
required: true
2932

3033

3134
runs:
@@ -87,7 +90,7 @@ runs:
8790
SPACK_REPO_VERSION: ${{ inputs.spack_repo_version }}
8891
DEPENDENCY_TAG: ${{ inputs.DEPENDENCY_TAG }}
8992
run: |
90-
args=""
93+
args="-e ${{ inputs.env_file }}"
9194
if [ "${{ inputs.full_install }}" == "true" ]; then
9295
echo "Full install"
9396
args="${args} -f"

.github/workflows/analysis.yml

Lines changed: 26 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
with:
4040
compiler: g++
4141
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
env_file: .env
4243

4344
- name: Save PR metadata
4445
if: github.event_name == 'pull_request'
@@ -71,6 +72,7 @@ jobs:
7172
- name: Configure
7273
run: >
7374
ccache -z &&
75+
CI/dependencies/run.sh .env
7476
cmake -B build -S . --preset=github-ci-coverage
7577
- name: Build
7678
run: cmake --build build
@@ -85,15 +87,30 @@ jobs:
8587
&& find build -name *.o -delete
8688
&& du -sh build
8789
- name: Coverage
88-
run: >
89-
pip3 install gcovr==7.2
90-
&& cd build
91-
&& /usr/bin/python3 ../CI/test_coverage.py
90+
run: |
91+
uv run --no-project CI/test_coverage.py build --filter
9292
9393
- uses: actions/upload-artifact@v6
94+
if: always()
9495
with:
9596
name: coverage-build
96-
path: build
97+
path: |
98+
build/compile_commands.json
99+
build/coverage/cov.xml
100+
101+
- uses: actions/upload-artifact@v6
102+
if: always()
103+
id: artifact-upload-step
104+
with:
105+
name: coverage-html
106+
path: build/coverage/html
107+
108+
- name: Coverage display
109+
run: |
110+
base_link='https://acts-herald.app.cern.ch/view/${{ github.repository }}/${{ steps.artifact-upload-step.outputs.artifact-id }}'
111+
link="$base_link/index.html"
112+
echo "🛡️ Code coverage available at: $link"
113+
echo "**🛡️ Code coverage available [here]($link)**" >> $GITHUB_STEP_SUMMARY
97114
98115
clang_tidy:
99116
runs-on: ubuntu-latest
@@ -111,7 +128,7 @@ jobs:
111128
if: github.event_name == 'pull_request'
112129
run: git fetch origin "${{ github.base_ref }}"
113130

114-
- uses: astral-sh/setup-uv@v5
131+
- uses: astral-sh/setup-uv@v7
115132

116133
- name: Install clang-tidy
117134
run: |
@@ -125,9 +142,12 @@ jobs:
125142
with:
126143
compiler: clang++
127144
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
145+
env_file: .env
128146

129147
- name: Configure
130148
run: >
149+
ccache -z &&
150+
CI/dependencies/run.sh .env
131151
cmake -B build -S .
132152
--preset=gitlab-ci-clangtidy
133153
@@ -157,61 +177,3 @@ jobs:
157177
run: >
158178
uv run CI/clang_tidy/run_clang_tidy_pr.py
159179
annotate fixes.yml
160-
161-
build_performance:
162-
runs-on: ubuntu-latest
163-
container: ghcr.io/acts-project/ubuntu2404:83
164-
if: github.ref == 'refs/heads/main'
165-
steps:
166-
- uses: actions/checkout@v6
167-
168-
- name: Install dependencies
169-
uses: ./.github/actions/dependencies
170-
with:
171-
compiler: g++
172-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173-
174-
- name: Install dependencies
175-
run: pip3 install cmakeperf==0.6.1
176-
- name: Configure
177-
run: >
178-
cmake -B build -S .
179-
--preset=github-ci
180-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
181-
-DCMAKE_CXX_FLAGS="-Werror"
182-
-DPython_EXECUTABLE=$(which python3)
183-
-DACTS_BUILD_ODD=OFF
184-
- name: Measure
185-
run: cmakeperf collect build/compile_commands.json -o perf.csv
186-
- name: Results
187-
run: cmakeperf print perf.csv
188-
- uses: actions/upload-artifact@v6
189-
with:
190-
name: cmakeperf
191-
path: perf.csv
192-
193-
# metric_tracking:
194-
# runs-on: ubuntu-latest
195-
# needs: build_performance
196-
# if: github.ref == 'refs/heads/main'
197-
# steps:
198-
# - uses: actions/checkout@v6
199-
# - name: Install dependencies
200-
# run: pip3 install git+https://github.com/paulgessinger/headwind.git@eeeaa80
201-
# - uses: actions/download-artifact@v4
202-
# with:
203-
# name: cmakeperf
204-
# - name: Run collection
205-
# env:
206-
# SSH_AUTH_SOCK: /tmp/ssh_agent.sock
207-
# run: |
208-
# ssh-agent -a $SSH_AUTH_SOCK > /dev/null
209-
# ssh-add - <<< "${{ secrets.METRIC_DEPLOY_SSH_KEY }}"
210-
# git config --global user.email "action@github.com"
211-
# git config --global user.name "GitHub Action"
212-
# git clone git@github.com:acts-project/metrics.git
213-
# hdw collect CI/headwind.yml --commit $(git log --pretty=format:'%H' -1)
214-
# cd metrics
215-
# git add -A
216-
# git commit -m"update metrics"
217-
# git push

.github/workflows/builds.yml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
with:
4040
compiler: g++
4141
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
env_file: .env
4243

4344
- name: Restore ccache
4445
id: ccache-restore
@@ -52,6 +53,7 @@ jobs:
5253
- name: Configure
5354
run: >
5455
ccache -z &&
56+
CI/dependencies/run.sh .env
5557
cmake -B build -S .
5658
--preset=github-ci
5759
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
@@ -85,7 +87,10 @@ jobs:
8587

8688
- name: Python sanity check after install
8789
shell: bash
88-
run: source install/python/setup.sh && python -c "import acts; v = acts.Vector3(1,2,3)"
90+
run: >
91+
source .env &&
92+
source install/python/setup.sh &&
93+
python -c "import acts; v = acts.Vector3(1,2,3)"
8994
9095
- name: Package build
9196
run: tar czf build.tar.gz -C build --exclude "*.o" --exclude "bin/ActsUnitTest*" --exclude "bin/ActsIntegrationTest*" .
@@ -97,6 +102,7 @@ jobs:
97102

98103
- name: Downstream configure
99104
run: >
105+
CI/dependencies/run.sh .env
100106
cmake -B build-downstream -S Tests/DownstreamProject
101107
-GNinja
102108
-DCMAKE_BUILD_TYPE=Release
@@ -126,6 +132,7 @@ jobs:
126132
with:
127133
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
128134
full_install: true
135+
env_file: .env
129136

130137
- uses: actions/download-artifact@v7
131138
with:
@@ -140,7 +147,9 @@ jobs:
140147
PYTEST_MD_REPORT: true
141148
PYTEST_MD_REPORT_VERBOSE: 0
142149
PYTEST_MD_REPORT_OUTPUT: pytest.md
150+
PYTEST_ADDOPTS: "-rs --durations=10"
143151
run: |
152+
source .env
144153
source build/this_acts_withdeps.sh
145154
pytest -rfExw -k "not gnn" -v
146155
cat ${PYTEST_MD_REPORT_OUTPUT} >> $GITHUB_STEP_SUMMARY
@@ -164,6 +173,7 @@ jobs:
164173
with:
165174
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
166175
full_install: true
176+
env_file: .env
167177

168178
- uses: actions/download-artifact@v7
169179
with:
@@ -176,6 +186,7 @@ jobs:
176186
shell: bash
177187
run: |
178188
git config --global safe.directory "$GITHUB_WORKSPACE"
189+
source .env
179190
source build/this_acts_withdeps.sh
180191
CI/physmon/phys_perf_mon.sh all physmon
181192
@@ -242,6 +253,7 @@ jobs:
242253
with:
243254
compiler: ${{ matrix.cxx }}
244255
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
256+
env_file: .env
245257

246258
- name: Restore ccache
247259
uses: actions/cache/restore@v5
@@ -255,6 +267,7 @@ jobs:
255267
- name: Configure
256268
run: >
257269
ccache -z &&
270+
CI/dependencies/run.sh .env
258271
cmake -B build -S .
259272
--preset=github-ci
260273
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }}
@@ -285,6 +298,7 @@ jobs:
285298

286299
- name: Downstream configure
287300
run: >
301+
CI/dependencies/run.sh .env
288302
cmake -B build-downstream -S Tests/DownstreamProject
289303
-GNinja
290304
-DCMAKE_BUILD_TYPE=Release
@@ -320,10 +334,13 @@ jobs:
320334
with:
321335
compiler: clang++
322336
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
337+
env_file: .env
323338

324339
- name: Restore ccache
325340
uses: actions/cache/restore@v5
326341
id: ccache-restore
342+
env:
343+
DYLD_LIBRARY_PATH: ""
327344
with:
328345
path: ${{ env.CCACHE_DIR }}
329346
key: ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}-${{ github.sha }}
@@ -333,13 +350,11 @@ jobs:
333350
- name: Configure
334351
run: >
335352
ccache -z &&
353+
CI/dependencies/run.sh .env
336354
cmake -B build -S .
337355
--preset=github-ci
338356
-DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}"
339357
340-
- run: ls -al /Users/runner/work/acts/acts/dependencies/view/lib
341-
- run: find /Users/runner/work/acts/acts/dependencies/view/lib -type l -name "libRIO.*"
342-
343358
- name: Build
344359
run: cmake --build build
345360

@@ -354,10 +369,14 @@ jobs:
354369
key: ${{ steps.ccache-restore.outputs.cache-primary-key }}
355370

356371
- name: Unit tests
357-
run: cmake --build build --target test
372+
run: >
373+
CI/dependencies/run.sh .env
374+
cmake --build build --target test
358375
359376
- name: Integration tests
360-
run: cmake --build build --target integrationtests
377+
run: >
378+
CI/dependencies/run.sh .env
379+
cmake --build build --target integrationtests
361380
362381
- name: Install
363382
run: cmake --build build --target install
@@ -369,6 +388,7 @@ jobs:
369388

370389
- name: Downstream configure
371390
run: >
391+
CI/dependencies/run.sh .env
372392
cmake -B build-downstream -S Tests/DownstreamProject
373393
-GNinja
374394
-DCMAKE_BUILD_TYPE=Release
@@ -379,9 +399,7 @@ jobs:
379399
run: cmake --build build-downstream
380400

381401
- name: Downstream run
382-
run: >
383-
PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH"
384-
&& ./build-downstream/bin/ShowActsVersion
402+
run: ./build-downstream/bin/ShowActsVersion
385403

386404
external_eic-shell:
387405
runs-on: ubuntu-latest
@@ -409,7 +427,7 @@ jobs:
409427
410428
- name: Build
411429
id: build
412-
uses: eic/docker-run-action@v3
430+
uses: eic/docker-run-action@v4
413431
continue-on-error: true
414432
with:
415433
image: "ghcr.io/eic/eic_ci_without_acts:nightly"
@@ -573,6 +591,7 @@ jobs:
573591
with:
574592
compiler: g++
575593
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
594+
env_file: .env
576595

577596
- name: Restore ccache
578597
id: ccache-restore
@@ -587,13 +606,13 @@ jobs:
587606
run: ccache -z
588607

589608
- name: Build wheel with pip
590-
run: pip wheel . -v
609+
run: CI/dependencies/run.sh .env pip wheel . -v
591610

592611
- name: ccache stats
593612
run: ccache -s
594613

595614
- name: Install wheel
596-
run: pip install $(ls ./*.whl)
615+
run: CI/dependencies/run.sh .env pip install $(ls ./*.whl)
597616

598617
- name: Save ccache
599618
uses: actions/cache/save@v5
@@ -608,4 +627,4 @@ jobs:
608627
path: "*.whl"
609628

610629
- name: Test
611-
run: python3 -c "import acts; import acts.examples; v = acts.Vector3(1,2,3)"
630+
run: CI/dependencies/run.sh .env python3 Python/Examples/scripts/hello_world_kalman.py

.github/workflows/sonarcloud.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
with:
3232
compiler: g++
3333
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
env_file: .env
3435

3536
- name: 'Download artifact'
3637
uses: actions/github-script@v8
@@ -144,12 +145,11 @@ jobs:
144145
if: github.event.workflow_run.event == 'pull_request'
145146
env:
146147
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
147-
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Put the name of your token here
148+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
148149
with:
149150
args: >
150151
--define sonar.verbose=true
151152
--define sonar.cfamily.compile-commands=build/compile_commands.json
152-
--define sonar.coverageReportPaths=build/coverage/cov.xml
153153
--define sonar.projectVersion=${{ steps.next_version.outputs.content }}
154154
--define sonar.scm.revision=${{ steps.pr_metadata.outputs.merge_sha }}
155155
--define sonar.pullrequest.key=${{ steps.pr_metadata.outputs.pr_number }}
@@ -161,7 +161,7 @@ jobs:
161161
if: github.event.workflow_run.event == 'push' && github.ref == 'refs/heads/main'
162162
env:
163163
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
164-
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Put the name of your token here
164+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
165165
with:
166166
args: >
167167
--define sonar.verbose=true

0 commit comments

Comments
 (0)