Skip to content

Commit

Permalink
Merge branch 'main' into ci/add-geomodel-to-ci
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminhuth authored Jul 5, 2024
2 parents ac6e1e6 + c85848d commit c84e76f
Show file tree
Hide file tree
Showing 252 changed files with 5,043 additions and 2,780 deletions.
74 changes: 52 additions & 22 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,67 @@
'Infrastructure':
- .github/**
- CI/**
- cmake/**
- changed-files:
- any-glob-to-any-file:
- .github/**
- CI/**
- cmake/**
'Component - Core':
- Core/**
- Tests/UnitTests/Core/**
- changed-files:
- any-glob-to-any-file:
- Core/**
- Tests/UnitTests/Core/**
'Component - Examples':
- Examples/**
- Tests/UnitTests/Examples/**
- changed-files:
- any-glob-to-any-file:
- Examples/**
- Tests/UnitTests/Examples/**
'Component - Fatras':
- Fatras/**
- Tests/UnitTests/Fatras/**
- changed-files:
- any-glob-to-any-file:
- Fatras/**
- Tests/UnitTests/Fatras/**
'Component - Plugins':
- Plugins/**
- Tests/UnitTests/Plugins/**
- changed-files:
- any-glob-to-any-file:
- Plugins/**
- Tests/UnitTests/Plugins/**
'Component - Documentation':
- docs/**
- changed-files:
- any-glob-to-any-file:
- docs/**
'Changes Performance':
- CI/physmon/reference/**
- Examples/Python/tests/root_file_hashes.txt
- changed-files:
- any-glob-to-any-file:
- CI/physmon/reference/**
- Examples/Python/tests/root_file_hashes.txt
'Event Data Model':
- '**/*EventData*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*EventData*/**'
'Clustering':
- '**/*Clusterization*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*Clusterization*/**'
'SP formation':
- '**/*SpacePointFormation*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*SpacePointFormation*/**'
'Seeding':
- '**/*Seeding*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*Seeding*/**'
'Track Finding':
- '**/*TrackFinding*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*TrackFinding*/**'
'Track Fitting':
- '**/*TrackFitting*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*TrackFitting*/**'
'Vertexing':
- '**/*Vertexing*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*Vertexing*/**'
'Ambiguity Resolution':
- '**/*AmbiguityResolution*/**'
- changed-files:
- any-glob-to-any-file:
- '**/*AmbiguityResolution*/**'
4 changes: 2 additions & 2 deletions .github/workflows/analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ env:
jobs:
build_debug:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2204:v41
container: ghcr.io/acts-project/ubuntu2404:51
steps:

- uses: actions/checkout@v4
Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:

build_performance:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2204:v41
container: ghcr.io/acts-project/ubuntu2404:51
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
Expand Down
123 changes: 7 additions & 116 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ env:
jobs:
linux_ubuntu:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2204:51
container: ghcr.io/acts-project/ubuntu2404:51
env:
INSTALL_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:

linux_examples_test:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2204:v41
container: ghcr.io/acts-project/ubuntu2404:51
needs: [linux_ubuntu]
env:
ACTS_SEQUENCER_DISABLE_FPEMON: true
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
linux_physmon:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2204:v41
container: ghcr.io/acts-project/ubuntu2404:51
needs: [linux_ubuntu]
env:
ACTS_SEQUENCER_DISABLE_FPEMON: true
Expand Down Expand Up @@ -191,7 +191,7 @@ jobs:
run: >
echo "::group::Dependencies"
&& git config --global safe.directory "$GITHUB_WORKSPACE"
&& pip3 install histcmp==0.6.5 spyral-cli==1.1.1 matplotlib
&& pip3 install histcmp==0.6.6 matplotlib
&& pip3 install -r Examples/Scripts/requirements.txt
&& /usr/local/bin/geant4-config --install-datasets
&& source build/this_acts_withdeps.sh
Expand All @@ -211,7 +211,7 @@ jobs:
if: github.ref == 'refs/heads/main'
steps:
- name: Install dependencies
run: pip3 install spyral-cli==1.1.0
run: pip3 install spyral-cli==1.1.2

- uses: actions/download-artifact@v4
with:
Expand All @@ -238,13 +238,13 @@ jobs:
strategy:
matrix:
include:
- image: ubuntu2004
- image: ubuntu2404
std: 17
- image: ubuntu2204_cpp20
std: 20
- image: ubuntu2204_clang
std: 17
container: ghcr.io/acts-project/${{ matrix.image }}:v41
container: ghcr.io/acts-project/${{ matrix.image }}:51
env:
INSTALL_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
Expand Down Expand Up @@ -326,115 +326,6 @@ jobs:
- name: Downstream run
run: ./build-downstream/bin/ShowActsVersion

linux-nodeps:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/${{ matrix.image }}:v41
strategy:
matrix:
image:
# Note: We only want the centos8 base here, and so we do not
# setup the lcg environment below
- centos8-lcg100-gcc10
env:
# NOTE: we setup the ROOT from LCG even though this is a
# "nodeps" build. This is because we want to test that the boost
# dependency is handled correctly when building the examples
# (same for tbb below). ROOT is available from the "epel"
# official centos8 repo, but to save hundreds of MB's of package
# download we simply use lcg for this one package.
SETUP: source /opt/lcg/ROOT/v6.24.00-e7098/x86_64-centos8-gcc10-opt/bin/thisroot.sh
PRELOAD: export LD_PRELOAD=/opt/lcg/gcc/10/x86_64-centos8/lib64/libstdc++.so.6
INSTALL_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
steps:
- uses: actions/checkout@v4
- name: Install dependencies
# Install tbb-devel also to build the examples
run: >
dnf -y install ninja-build tbb-devel ccache
&& ln -s $(find / -type f -name 'ccache') /usr/local/bin/ccache
- name: Restore ccache
uses: actions/cache/restore@v4
id: ccache-restore
with:
path: ${{ github.workspace }}/ccache
key: ${{ runner.os }}-ccache-linux-nodeps_${{ env.CCACHE_KEY_SUFFIX }}_${{ github.sha }}
restore-keys: |
${{ runner.os }}-ccache-linux-nodeps_${{ env.CCACHE_KEY_SUFFIX }}_
- name: Configure
run: >
ccache -z &&
cmake -B build -S .
-GNinja
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_FLAGS=-Werror
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
-DACTS_BUILD_UNITTESTS=ON
-DACTS_BUILD_INTEGRATIONTESTS=ON
-DACTS_ENABLE_LOG_FAILURE_THRESHOLD=ON
-DACTS_FORCE_ASSERTIONS=ON
-DACTS_USE_SYSTEM_BOOST=OFF
-DACTS_USE_SYSTEM_EIGEN3=OFF
-DACTS_BUILD_PLUGIN_JSON=ON
- name: Build
run: ${SETUP} && ( cmake --build build || cmake --build build )
# The above line is required as a sort of retry mechanism. Without it,
# the build fails for technical reasons.
- name: ccache stats
run: ccache -s
- name: Save ccache
uses: actions/cache/save@v4
if: always()
with:
path: ${{ github.workspace }}/ccache
key: ${{ steps.ccache-restore.outputs.cache-primary-key }}
- name: Unit tests
run: ${SETUP} && cmake --build build --target test
- name: Integration tests
run: ${SETUP} && cmake --build build --target integrationtests
- name: Install
run: ${SETUP} && cmake --build build --target install
# For some reasons, this version of ROOT complains that it
# cannot find the nlohmann::json config before we even installed
# it. So we have to do the examples in separate step.
- name: Configure Examples
run: >
${SETUP} &&
cmake -B build -S .
-GNinja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_FLAGS=-Werror
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
-DACTS_ENABLE_LOG_FAILURE_THRESHOLD=ON
-DACTS_FORCE_ASSERTIONS=ON
-DACTS_USE_SYSTEM_BOOST=OFF
-DACTS_USE_SYSTEM_EIGEN3=OFF
-DACTS_BUILD_EXAMPLES=ON
- name: Build Examples
run: ${SETUP} && ${PRELOAD} && cmake --build build
- name: Install Examples
run: ${SETUP} && cmake --build build --target install
- name: Run Examples
# Run a single example to be sure that the boost dependencies
# got linked correctly
run: ${SETUP} && ${PRELOAD} && "${INSTALL_DIR}/bin/ActsExampleHelloWorld" -n 1
- name: Downstream configure
run: >
${SETUP} &&
cmake -B build-downstream-nodeps -S Tests/DownstreamProjectNodeps
-GNinja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_FLAGS=-Werror
-DCMAKE_PREFIX_PATH="${INSTALL_DIR}"
- name: Downstream build
run: cmake --build build-downstream-nodeps
- name: Downstream run
run: ./build-downstream-nodeps/bin/ShowActsVersion
&& CI/check_boost_eigen_versions.sh ./build-downstream-nodeps/bin/ShowActsVersion

macos:
runs-on: macos-13
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:

steps:
- uses: actions/checkout@v4
- uses: actions/labeler@v4
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true
Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,23 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.8'

- run: pip install -r CI/release_requirements.txt
- name: Install git-cliff
run: |
curl -L https://github.com/orhun/git-cliff/releases/download/v2.3.0/git-cliff-2.3.0-x86_64-unknown-linux-musl.tar.gz > git-cliff.tar.gz
echo "3adde9625195825db9a59dd954fc90604172ba4b git-cliff.tar.gz" | shasum -c
mkdir git-cliff
tar xzf git-cliff.tar.gz --strip-components 1 --directory git-cliff
cp git-cliff/git-cliff /usr/local/bin/git-cliff
- name: Create release
env:
# for gh cli
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# for git-cliff
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
CI/release.py make-release
CI/release.sh
2 changes: 1 addition & 1 deletion .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
git status
- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v2
uses: SonarSource/sonarcloud-github-c-cpp@v3

- name: Debug
run: |
Expand Down
Loading

0 comments on commit c84e76f

Please sign in to comment.