Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Download dependencies as tarball #3520

Merged
merged 114 commits into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
fbd0d0f
ci: Download dependencies as tarball
paulgessinger Aug 20, 2024
e8464e2
bump gitlab image versions to 59
paulgessinger Aug 20, 2024
bda80f0
remove autodiff, add g4 minimum version
paulgessinger Aug 20, 2024
03e22cb
bump again for zstd
paulgessinger Aug 21, 2024
5750df3
let's try with explicit python
paulgessinger Aug 21, 2024
8113993
python3.12
paulgessinger Aug 21, 2024
6cab2d2
debug by ls
paulgessinger Aug 22, 2024
12fd759
debug
paulgessinger Aug 22, 2024
5d2b5d6
change destination
paulgessinger Aug 22, 2024
3d1e7af
ls other
paulgessinger Aug 22, 2024
b4f0f11
how about this
paulgessinger Aug 22, 2024
c0cde5d
env var
paulgessinger Aug 22, 2024
ac6b2dd
use env var
paulgessinger Aug 22, 2024
dc404e2
add CMAKE_PREFIX_PATH
paulgessinger Aug 22, 2024
b7f8145
check if path is right and put venv bin on path
paulgessinger Aug 22, 2024
36c3f2d
wrong order
paulgessinger Aug 22, 2024
c13548e
need explicit python exe right now
paulgessinger Aug 22, 2024
3ba8e2c
add library path as well
paulgessinger Aug 22, 2024
902eeaf
update other jobs
paulgessinger Aug 22, 2024
e856558
lint fixes
paulgessinger Aug 22, 2024
cda8842
image bump, macos install
paulgessinger Aug 22, 2024
a59ab2b
remove explicit executable
paulgessinger Aug 22, 2024
e880522
debug
paulgessinger Aug 22, 2024
08e95be
explicit python interpreters
paulgessinger Aug 22, 2024
bcfcd5a
fix two more paths
paulgessinger Aug 22, 2024
9d53f3b
ls debug
paulgessinger Aug 22, 2024
72309df
debug
paulgessinger Aug 23, 2024
6a876bf
debug earlier
paulgessinger Aug 23, 2024
5f9a56d
patch up geant4 dataset install paths
paulgessinger Aug 23, 2024
da5b586
disable tmate
paulgessinger Aug 23, 2024
88a8fd1
sed macos
paulgessinger Aug 23, 2024
9a93cbf
perl instead of sed
paulgessinger Aug 23, 2024
82e80b1
ls fails
paulgessinger Aug 23, 2024
aff4ea2
pick up pip from the venv
paulgessinger Aug 23, 2024
37dc8d0
bump tarball version & histcmp
paulgessinger Aug 25, 2024
051aefe
debug which python physmon runs
paulgessinger Aug 26, 2024
3174b0c
another histcmp bump
paulgessinger Aug 26, 2024
b39bba1
install /usr/bin/time
paulgessinger Aug 26, 2024
0555202
add ROOT_INCLUDE_DIR
paulgessinger Aug 26, 2024
20dc0aa
no sudo
paulgessinger Aug 26, 2024
13fc435
try other multiprocessing approach
paulgessinger Aug 26, 2024
a6814d6
try to find out why it's not using the venv
paulgessinger Aug 26, 2024
f07f1d5
try to make ROOT find CLHEP
paulgessinger Aug 26, 2024
cbc655a
update hashes
paulgessinger Aug 26, 2024
d517f27
reset python in physmon
paulgessinger Aug 26, 2024
b59a254
changes expected size from pythia
paulgessinger Aug 26, 2024
c6e624d
more echo
paulgessinger Aug 26, 2024
a9602e7
fixes
paulgessinger Aug 27, 2024
50d3bb0
Merge branch 'main' into ci/tarball-deps
paulgessinger Aug 27, 2024
6383470
Merge remote-tracking branch 'origin/main' into ci/tarball-deps
paulgessinger Sep 23, 2024
f0b7d83
reset pythia expectations
paulgessinger Sep 23, 2024
bf343ac
bump tarball to v3
paulgessinger Sep 24, 2024
eede726
bump tarball version
paulgessinger Sep 27, 2024
36fe1e8
set PYTHIA8DATA env var
paulgessinger Sep 28, 2024
9e568e7
use correct pattern
paulgessinger Sep 28, 2024
e45db10
Switch debug build to tarball as well
paulgessinger Sep 30, 2024
3a70a02
navigator printout
paulgessinger Sep 30, 2024
cf6bad3
compile fix
paulgessinger Sep 30, 2024
b3b08ea
fix compile
paulgessinger Sep 30, 2024
df80c1e
add bounds check in two-way CKF
paulgessinger Sep 30, 2024
1bcea29
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 2, 2024
cc80856
add verbose output
paulgessinger Oct 2, 2024
48f05ed
verbosity update
paulgessinger Oct 2, 2024
0c27c05
Merge remote-tracking branch 'origin/main' into ci/tarball-deps
paulgessinger Oct 7, 2024
15bf08e
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 15, 2024
ce88c70
revert debug changes
paulgessinger Oct 15, 2024
b341517
don't warn but count skipped second passes
paulgessinger Oct 15, 2024
cc2e439
update file hashes
paulgessinger Oct 15, 2024
eb30321
update physmon references
paulgessinger Oct 15, 2024
8844ec4
update analysis builds to use python from deps
paulgessinger Oct 15, 2024
e4d1f27
did i copy the wrong references or is there a problem?
paulgessinger Oct 15, 2024
406aa41
try to run gitlab CI
paulgessinger Oct 15, 2024
8a42489
improve dependency script to handle github and gitlab
paulgessinger Oct 15, 2024
bda740d
use pip as module only
paulgessinger Oct 15, 2024
626e6c5
one more adaptation for gitlab
paulgessinger Oct 15, 2024
a5083a4
geant4 location
paulgessinger Oct 15, 2024
1633c5f
output
paulgessinger Oct 15, 2024
f3f25e4
dep script exits, but unclear why
paulgessinger Oct 16, 2024
dc1ff50
where does it stop?
paulgessinger Oct 16, 2024
0e57a17
x
paulgessinger Oct 16, 2024
2fcec75
go
paulgessinger Oct 16, 2024
9d98635
ci debugging is fun
paulgessinger Oct 16, 2024
2cecdb0
so much fun
paulgessinger Oct 16, 2024
b7a133e
again
paulgessinger Oct 16, 2024
397ea70
does this work?
paulgessinger Oct 16, 2024
b527fcc
explicit python for cmake
paulgessinger Oct 16, 2024
cdc00e5
quiet
paulgessinger Oct 16, 2024
5bd0161
add missing deps download
paulgessinger Oct 16, 2024
83d5094
don't set -e / set -u (we source in gitlab)
paulgessinger Oct 16, 2024
0e43754
use gitlab's extend
paulgessinger Oct 16, 2024
aabc2fb
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 16, 2024
ffb9f55
attempt warning workaround by moving =default to cpp file
paulgessinger Oct 16, 2024
94d0cf2
remove extra geant4-config call
paulgessinger Oct 16, 2024
b862ffd
we do actually need the g4 dataset though
paulgessinger Oct 16, 2024
7c37b4d
keep python
paulgessinger Oct 16, 2024
4edb392
make dependency script usable interactively
paulgessinger Oct 16, 2024
70fb4e2
accomodate boost from non-standard location
paulgessinger Oct 16, 2024
5f94621
output again
paulgessinger Oct 16, 2024
2735d75
disable -Werror
paulgessinger Oct 16, 2024
bf1db97
remove output, use different mechanism for -Werror
paulgessinger Oct 16, 2024
74b6219
fix for fpe addr2line fallback
paulgessinger Oct 17, 2024
9511d4e
remove unnecessary changes
paulgessinger Oct 17, 2024
04e9a96
make flags public again
paulgessinger Oct 17, 2024
beda9ad
preserve python over setup script invokation
paulgessinger Oct 17, 2024
7c96533
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 17, 2024
d7632f9
update refitting references
paulgessinger Oct 17, 2024
cbb339c
Merge remote-tracking branch 'origin/main' into ci/tarball-deps
paulgessinger Oct 17, 2024
8f0e3d3
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 18, 2024
8a49091
update hashes
paulgessinger Oct 18, 2024
d789725
Merge branch 'main' into ci/tarball-deps
paulgessinger Oct 21, 2024
da3b695
update hashes again
paulgessinger Oct 21, 2024
808fa4c
revert physmon references to main for comparison
paulgessinger Oct 21, 2024
8c89711
update references again
paulgessinger Oct 21, 2024
b8d5892
Merge branch 'main' into ci/tarball-deps
kodiakhq[bot] Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions .github/workflows/analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,22 @@ env:
CCACHE_MAXSIZE: 1.25G
CCACHE_KEY_SUFFIX: r1
ACTS_LOG_FAILURE_THRESHOLD: WARNING
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.v4.tar.zst

# NOTE this only builds core unittests to reduce the output size. if we
# found a way to have Github actions not fail regularly with this job
# all unit tests should be reactivated.
jobs:
build_debug:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2404:58
container: ghcr.io/acts-project/ubuntu2404:63
steps:

- uses: actions/checkout@v4

- name: Install dependencies
run: CI/dependencies.sh

- name: Cache build
uses: actions/cache@v4
with:
Expand All @@ -49,6 +53,7 @@ jobs:
--preset=github-ci
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_CXX_FLAGS="-Werror --coverage -g -gz -g1"
-DPython_EXECUTABLE=$(which python3)
-DACTS_BUILD_ODD=OFF
- name: Build
run: cmake --build build
Expand Down Expand Up @@ -86,10 +91,14 @@ jobs:

build_performance:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2404:58
container: ghcr.io/acts-project/ubuntu2404:63
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: CI/dependencies.sh

- name: Install dependencies
run: pip3 install git+https://github.com/paulgessinger/cmakeperf.git@2a409b5
- name: Configure
Expand All @@ -98,6 +107,7 @@ jobs:
--preset=github-ci
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_CXX_FLAGS="-Werror"
-DPython_EXECUTABLE=$(which python3)
-DACTS_BUILD_ODD=OFF
- name: Measure
run: cmakeperf collect build/compile_commands.json -o perf.csv
Expand Down
85 changes: 49 additions & 36 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,21 @@ env:
jobs:
linux_ubuntu:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2404:58
container: ghcr.io/acts-project/ubuntu2404:63
env:
INSTALL_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
steps:
- name: Install git lfs
run: apt-get update && apt-get install -y git-lfs
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.v4.tar.zst

steps:
- uses: actions/checkout@v4
with:
submodules: true
lfs: true

- name: Install dependencies
run: CI/dependencies.sh

- name: Restore ccache
uses: actions/cache/restore@v4
id: ccache-restore
Expand All @@ -58,6 +60,7 @@ jobs:
cmake -B build -S .
--preset=github-ci
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
-DPython_EXECUTABLE=$(which python3)
-DACTS_BUILD_PLUGIN_ONNX=ON

- name: Build
Expand All @@ -82,7 +85,6 @@ jobs:
- name: Install
run: cmake --build build --target install


- name: Package build
run: tar czf build.tar.gz -C build --exclude "*.o" --exclude "bin/ActsUnitTest*" --exclude "bin/ActsIntegrationTest*" .

Expand All @@ -108,20 +110,21 @@ jobs:

linux_examples_test:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2404:58
container: ghcr.io/acts-project/ubuntu2404:63
needs: [linux_ubuntu]
env:
ACTS_SEQUENCER_DISABLE_FPEMON: true
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.v4.tar.zst

steps:
- name: Install git lfs
run: apt-get update && apt-get install -y git-lfs

- uses: actions/checkout@v4
with:
submodules: true
lfs: true

- name: Install dependencies
run: CI/dependencies.sh

- uses: actions/download-artifact@v4
with:
name: acts-linux-ubuntu
Expand All @@ -136,29 +139,31 @@ jobs:
PYTEST_MD_REPORT_VERBOSE: 0
PYTEST_MD_REPORT_OUTPUT: pytest.md
run: >
/usr/local/bin/geant4-config --install-datasets
geant4-config --install-datasets
&& source build/this_acts_withdeps.sh
&& pip3 install -r Examples/Python/tests/requirements.txt
&& pip3 install pytest-md-report
&& python3 -m pip install -r Examples/Python/tests/requirements.txt
&& python3 -m pip install pytest-md-report
&& pytest -rFsv -k "not exatrkx" -v
&& cat ${PYTEST_MD_REPORT_OUTPUT} >> $GITHUB_STEP_SUMMARY

linux_physmon:
runs-on: ubuntu-latest
container: ghcr.io/acts-project/ubuntu2404:58
container: ghcr.io/acts-project/ubuntu2404:63
needs: [linux_ubuntu]
env:
ACTS_SEQUENCER_DISABLE_FPEMON: true
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.v4.tar.zst

steps:
- name: Install git lfs
run: apt-get update && apt-get install -y git-lfs time

- uses: actions/checkout@v4
with:
submodules: true
lfs: true

- run: apt-get update && apt-get install -y time
- name: Install dependencies
run: CI/dependencies.sh

- uses: actions/download-artifact@v4
with:
name: acts-linux-ubuntu
Expand All @@ -178,10 +183,15 @@ jobs:
run: >
echo "::group::Dependencies"
&& git config --global safe.directory "$GITHUB_WORKSPACE"
&& pip3 install histcmp==0.6.7 matplotlib
&& pip3 install -r Examples/Scripts/requirements.txt
&& /usr/local/bin/geant4-config --install-datasets
&& python3 -m pip install histcmp==0.6.8 matplotlib
&& python3 -m pip install -r Examples/Scripts/requirements.txt
&& geant4-config --install-datasets
&& venv_python=$(which python3)
&& echo $venv_python
&& source build/this_acts_withdeps.sh
&& export PATH=$(dirname $venv_python):$PATH
&& echo $PATH
&& which python3
&& echo "::endgroup::"
&& CI/physmon/phys_perf_mon.sh all physmon

Expand Down Expand Up @@ -232,19 +242,20 @@ jobs:
std: 20
- image: ubuntu2204_clang
std: 20
container: ghcr.io/acts-project/${{ matrix.image }}:58
container: ghcr.io/acts-project/${{ matrix.image }}:63
env:
INSTALL_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-22.04/deps.v4.tar.zst
steps:
- name: Install git lfs
run: apt-get update && apt-get install -y git-lfs

- uses: actions/checkout@v4
with:
submodules: true
lfs: true

- name: Install dependencies
run: CI/dependencies.sh

- name: Restore ccache
uses: actions/cache/restore@v4
id: ccache-restore
Expand All @@ -265,6 +276,7 @@ jobs:
--preset=github-ci
-DCMAKE_CXX_STANDARD=${{ matrix.std }}
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
-DPython_EXECUTABLE=$(which python3)

- name: Build
run: cmake --build build
Expand Down Expand Up @@ -307,11 +319,8 @@ jobs:
runs-on: macos-14
env:
INSTALL_DIR: ${{ github.workspace }}/install_acts
DEPENDENCY_DIR: ${{ github.workspace }}/install
ACTS_LOG_FAILURE_THRESHOLD: WARNING
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/macos-14/deps.v2.tar.zst
# Works around an issue where root's RPATH is wrong for tbb, thus won't find it
DYLD_LIBRARY_PATH: "${{ github.workspace }}/install/tbb/2021.11.0/lib"
DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/macos-14/deps.v4.tar.zst
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -324,11 +333,7 @@ jobs:
- name: Install dependencies
run: >
brew install cmake ninja ccache xerces-c
&& wget --verbose --progress=dot:giga --continue --retry-connrefused --tries=5 --timeout=2 -O deps.tar.zst ${{ env.DEPENDENCY_URL }}
&& mkdir ${{ env.DEPENDENCY_DIR }}
&& tar -xf deps.tar.zst -C ${{ env.DEPENDENCY_DIR }}
&& PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH"
&& python3 -m pip install pyyaml jinja2
&& CI/dependencies.sh

- name: Restore ccache
uses: actions/cache/restore@v4
Expand All @@ -342,43 +347,51 @@ jobs:
- name: Configure
run: >
ccache -z
&& PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH"
&& cmake -B build -S .
--preset=github-ci
-DCMAKE_PREFIX_PATH="${{ env.DEPENDENCY_DIR }}"
-DPython_EXECUTABLE=${{ env.DEPENDENCY_DIR }}/bin/python3
-DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}"
-DPython_EXECUTABLE=$(which python3)

- name: Build
run: cmake --build build

- 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: cmake --build build --target test

- name: Integration tests
run: cmake --build build --target integrationtests

- name: Install
run: cmake --build build --target install

- uses: actions/upload-artifact@v4
with:
name: acts-macos
path: ${{ env.INSTALL_DIR }}

- name: Downstream configure
run: >
PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH"
&& cmake -B build-downstream -S Tests/DownstreamProject
cmake -B build-downstream -S Tests/DownstreamProject
-GNinja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_FLAGS=-Werror
-DCMAKE_CXX_STANDARD=20
-DCMAKE_PREFIX_PATH="${INSTALL_DIR}"

- name: Downstream build
run: cmake --build build-downstream

- name: Downstream run
run: >
PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH"
Expand Down
Loading
Loading