build(deps): bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows #216
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-License-Identifier: LGPL-3.0-or-later | |
# Copyright (C) 2023 Christopher Dilks | |
name: ci | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# BUILD --------------------------------------------------------------------------- | |
build_1: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
repo: [EDM4eic, irt, epic] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh ${{matrix.repo}} | |
echo "[CI] BUILD REPOSITORY" | |
build.sh ${{matrix.repo}} | |
- name: tar_artifacts # workaround: tarball artifacts to preserve executable permissions | |
run: tar cvf artifacts.${{matrix.repo}}.tar prefix | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build_1 | |
retention-days: 1 | |
path: artifacts.${{matrix.repo}}.tar | |
build_2: | |
needs: | |
- build_1 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
repo: [EICrecon, reconstruction_benchmarks] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_1 | |
- name: untar_artifacts | |
run: | | |
ls artifacts.*.tar | xargs -I_ tar xvf _ | |
rm -v artifacts.*.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh ${{matrix.repo}} | |
echo "[CI] BUILD REPOSITORY" | |
build.sh ${{matrix.repo}} | |
- name: tar_artifacts # workaround: tarball artifacts to preserve executable permissions | |
run: tar cvf artifacts.${{matrix.repo}}.tar prefix | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build_2 | |
retention-days: 1 | |
path: artifacts.${{matrix.repo}}.tar | |
build_3: | |
needs: | |
- build_2 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_1 | |
- name: untar_artifacts | |
run: | | |
ls artifacts.*.tar | xargs -I_ tar xvf _ | |
rm -v artifacts.*.tar | |
- uses: actions/[email protected] | |
with: | |
name: build_2 | |
- name: untar_artifacts | |
run: | | |
ls artifacts.*.tar | xargs -I_ tar xvf _ | |
rm -v artifacts.*.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh EICrecon | |
echo "[CI] BUILD LOCAL CODE" | |
make | |
- name: tar_artifacts # workaround: tarball artifacts to preserve executable permissions | |
run: tar cvf build.tar prefix bin lib | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build_3 | |
retention-days: 1 | |
path: build.tar | |
# PIPELINE: SIMULATION, RECONSTRUCTION, BENCHMARKS --------------------------------- | |
pipeline: | |
needs: | |
- build_3 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
id: | |
- fixed_p | |
- eta_scan | |
- p_scan_eta0 | |
- p_scan_eta1 | |
- p_scan_eta2 | |
- p_scan_eta3 | |
radiator: [aerogel, gas] | |
particle: [pi+, kaon+, proton] | |
include: | |
### default momentum for each radiator (for fixed momentum tests) | |
- { radiator: aerogel, momentum: 5.0 } | |
- { radiator: gas, momentum: 20.0 } | |
### fixed momentum tests | |
- { id: fixed_p, options: -t 1 -n 50 } | |
- { id: eta_scan, options: -t 6 -k 5 -n 30 } | |
### momentum scans at fixed pseudorapidities | |
- { id: p_scan_eta0, radiator: aerogel, options: -t 9 -k 5 -n 30 -b 1.6 } | |
- { id: p_scan_eta0, radiator: gas, options: -t 10 -k 5 -n 30 -b 1.6 } | |
- { id: p_scan_eta1, radiator: aerogel, options: -t 9 -k 5 -n 30 -b 2.0 } | |
- { id: p_scan_eta1, radiator: gas, options: -t 10 -k 5 -n 30 -b 2.0 } | |
- { id: p_scan_eta2, radiator: aerogel, options: -t 9 -k 5 -n 30 -b 2.7 } | |
- { id: p_scan_eta2, radiator: gas, options: -t 10 -k 5 -n 30 -b 2.7 } | |
- { id: p_scan_eta3, radiator: aerogel, options: -t 9 -k 5 -n 30 -b 3.5 } | |
- { id: p_scan_eta3, radiator: gas, options: -t 10 -k 5 -n 30 -b 3.5 } | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_3 | |
- name: untar_artifacts | |
run: | | |
tar xvf build.tar | |
rm -v build.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh reconstruction_benchmarks | |
echo "[CI] RUN SIMULATION:" | |
simulate.py ${{matrix.options}} -m ${{matrix.momentum}} -p ${{matrix.particle}} | |
# echo "[CI] EVENT DISPLAY SINGLES:" | |
# event_display d s out/sim.edm4hep.root n 0 0 | |
# mv out/ev out/ev.singles | |
echo "[CI] EVENT DISPLAY INTEGRATED:" | |
event_display d s out/sim.edm4hep.root n | |
mv out/ev out/ev.all_events | |
echo "[CI] DRAW HITS:" | |
draw_hits d | |
echo "[CI] RECONSTRUCTION:" | |
recon.rb | |
echo "[CI] BENCHMARKS:" | |
benchmark.rb -b | |
- name: cull | |
run: | | |
rm -v out*/sim*.root | |
rm -v out*/rec*.root | |
- name: tree_artifacts | |
run: tree out | |
- name: rename_artifacts | |
run: | | |
mkdir -p pipeline/${{matrix.id}}/${{matrix.radiator}}/${{matrix.particle}} | |
mv -v out/* pipeline/${{matrix.id}}/${{matrix.radiator}}/${{matrix.particle}}/ | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: pipeline | |
retention-days: 1 | |
path: pipeline*/ | |
# GEOMETRY ------------------------------------------------------------------------ | |
geometry: | |
needs: | |
- build_3 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- { det: d, detector: DRICH } | |
- { det: p, detector: PFRICH } | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_3 | |
- name: untar_artifacts | |
run: | | |
tar xvf build.tar | |
rm -v build.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh none | |
echo "[CI] CREATE TGEO FILE:" | |
geometry.sh -${{matrix.det}} -o geo/${{matrix.detector}}_TGeo.root | |
echo "[CI] DUMP GEOMETRY CONSTANTS:" | |
search_compact_params.sh -e | grep ${{matrix.detector}} | tee geo/${{matrix.detector}}_constants.txt | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: geometry | |
retention-days: 1 | |
path: geo*/ | |
# EVENT VISUALIZATION ------------------------------------------------------------- | |
### FIXME: not sure how to make these work on CI runners | |
### - locally: | |
### run `xvfb-run eic-shell` (to suppress graphics) | |
### call `exit | simulate.py -t1 -n1 -v -e svg` | |
### | |
# visual: | |
# needs: | |
# - build_3 | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: true | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: actions/[email protected] | |
# with: | |
# name: build_3 | |
# - name: untar_artifacts | |
# run: | | |
# tar xvf build.tar | |
# rm -v build.tar | |
# - uses: cvmfs-contrib/github-action-cvmfs@v3 | |
# - uses: eic/run-cvmfs-osg-eic-shell@main | |
# with: | |
# platform-release: "jug_xl:nightly" | |
# setup: environ.sh | |
# run: | | |
# scripts/configure_CI.sh none | |
# echo "[CI] SET DEBUG MODE" | |
# scripts/set_optics_debug_mode.sh DRICH_debug_sector 1 | |
# echo "[CI] REBUILD epic" | |
# build.sh epic | |
# echo "[CI] VISUALIZE:" | |
# exit | simulate.py -t1 -n1 -v -e pdf | |
# mv out out.visual | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: visual | |
# retention-days: 1 | |
# path: out.*/ | |
# optics: | |
# needs: | |
# - build_3 | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: true | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: actions/[email protected] | |
# with: | |
# name: build_3 | |
# - name: untar_artifacts | |
# run: | | |
# tar xvf build.tar | |
# rm -v build.tar | |
# - uses: cvmfs-contrib/github-action-cvmfs@v3 | |
# - uses: eic/run-cvmfs-osg-eic-shell@main | |
# with: | |
# platform-release: "jug_xl:nightly" | |
# setup: environ.sh | |
# run: | | |
# scripts/configure_CI.sh none | |
# echo "[CI] SET DEBUG MODE" | |
# scripts/set_optics_debug_mode.sh DRICH_debug_optics 1 | |
# echo "[CI] REBUILD epic" | |
# build.sh epic | |
# echo "[CI] VISUALIZE:" | |
# exit | simulate.py -t12 -e pdf | |
# mv out out.optics | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: optics | |
# retention-days: 1 | |
# path: out.*/ | |
# MISCELLANEOUS TESTS ------------------------------------------------------------- | |
test_pixel_gaps: | |
needs: | |
- build_3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_3 | |
- name: untar_artifacts | |
run: | | |
tar xvf build.tar | |
rm -v build.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh none | |
echo "[CI] RUN SIMULATION:" | |
simulate.py -s -t4 -n500 | |
echo "[CI] RUN RECONSTRUCTION:" | |
recon.rb -c config/recon_digi_only.yaml | |
echo "[CI] DRAW PIXEL HITS:" | |
test_pixel_gap_cuts n | |
- name: tree_artifacts | |
run: tree out | |
- name: rename_artifacts | |
run: mv -v out tests | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: tests | |
retention-days: 1 | |
path: tests*/ | |
test_track_propagation: | |
needs: | |
- build_3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: build_3 | |
- name: untar_artifacts | |
run: | | |
tar xvf build.tar | |
rm -v build.tar | |
- uses: cvmfs-contrib/github-action-cvmfs@v3 | |
- uses: eic/run-cvmfs-osg-eic-shell@main | |
with: | |
platform-release: "jug_xl:nightly" | |
setup: environ.sh | |
run: | | |
scripts/configure_CI.sh none | |
echo "[CI] RUN SIMULATION:" | |
simulate.py -t4 -k10 -n1 | |
echo "[CI] RUN RECONSTRUCTION:" | |
recon.rb | |
echo "[CI] DRAW PIXEL HITS:" | |
root -b -q scripts/test_tracks.C | |
- name: tree_artifacts | |
run: tree out | |
- name: rename_artifacts | |
run: mv -v out tests | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: tests | |
retention-days: 1 | |
path: tests*/ | |
# ARTIFACT COLLECTION ------------------------------------------------------------- | |
collect: | |
if: ${{ always() }} | |
needs: | |
- pipeline | |
- geometry | |
# - visual | |
# - optics | |
- test_pixel_gaps | |
- test_track_propagation | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
with: | |
name: pipeline | |
- uses: actions/[email protected] | |
with: | |
name: geometry | |
# - uses: actions/[email protected] | |
# with: | |
# name: visual | |
# - uses: actions/[email protected] | |
# with: | |
# name: optics | |
- uses: actions/[email protected] | |
with: | |
name: tests | |
- name: cull | |
run: | | |
find -name .keep | xargs rm -v | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: _RESULTS | |
retention-days: 14 | |
path: | | |
pipeline*/ | |
geo*/ | |
tests*/ |