Skip to content
Open
Changes from all commits
Commits
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
97 changes: 75 additions & 22 deletions .github/workflows/build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -673,8 +673,8 @@ jobs:
${{ steps.digests.outputs.all }}

npsim-gun:
name: npsim (gun, ${{ matrix.particle }}, ${{ matrix.detector_config }})
runs-on: ubuntu-latest
name: npsim (gun, ${{ matrix.particle }}, ${{ matrix.detector_config }}, ${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
needs: eic-manifest
container:
image: ghcr.io/eic/eic_ci:pipeline-${{ github.run_id }}
Expand All @@ -686,6 +686,12 @@ jobs:
matrix:
particle: [pi, e]
detector_config: [epic_craterlake]
arch: [amd64, arm64]
include:
- arch: amd64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm
steps:
- name: Produce simulation files
shell: bash --login -eo pipefail {0}
Expand All @@ -694,6 +700,7 @@ jobs:
npsim \
--compactFile ${DETECTOR_PATH}/${{ matrix.detector_config }}.xml \
-G --random.seed 1 \
--random.enableEventSeed \
--gun.particle "${{ matrix.particle }}-" \
--gun.momentumMin "1*GeV" --gun.momentumMax "20*GeV" \
--gun.distribution "uniform" \
Expand All @@ -703,7 +710,7 @@ jobs:
- id: upload_new_artifact
uses: actions/upload-artifact@v7
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.edm4hep.root
path: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
if-no-files-found: error
Comment thread
veprbl marked this conversation as resolved.
- name: Download previous artifact
Expand All @@ -712,7 +719,7 @@ jobs:
with:
branch: ${{ github.base_ref || github.event.merge_group.base_ref || github.ref_name }}
path: ref/
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.edm4hep.root
workflow: ".github/workflows/build-push.yml"
workflow_conclusion: "success"
if_no_artifact_found: warn
Expand All @@ -722,8 +729,8 @@ jobs:
mkdir capybara-reports
shopt -s nullglob
capybara bara ref/sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root* sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
mv capybara-reports sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
touch .sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
mv capybara-reports sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
touch .sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
- name: Write artifact metadata
env:
NEW_URL: ${{ steps.upload_new_artifact.outputs.artifact-url }}
Expand All @@ -740,13 +747,13 @@ jobs:
fi
fi
jq -nc --arg new "$NEW_URL" --arg ref "$REF_URL" '{new: $new, ref: $ref}' \
> sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}/meta.json
> sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}/meta.json
- uses: actions/upload-artifact@v7
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.capy
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.capy
path: |
.sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}/
.sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}/
if-no-files-found: error

npsim-dis:
Expand Down Expand Up @@ -828,8 +835,8 @@ jobs:
if-no-files-found: error

eicrecon-gun:
name: eicrecon (gun, ${{ matrix.particle }}, ${{ matrix.detector_config }})
runs-on: ubuntu-latest
name: eicrecon (gun, ${{ matrix.particle }}, ${{ matrix.detector_config }}, ${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
needs: [eic-manifest, npsim-gun]
container:
image: ghcr.io/eic/eic_ci:pipeline-${{ github.run_id }}
Expand All @@ -841,10 +848,16 @@ jobs:
matrix:
particle: [pi, e]
detector_config: [epic_craterlake]
arch: [amd64, arm64]
include:
- arch: amd64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm
steps:
- uses: actions/download-artifact@v8
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.edm4hep.root
- name: Run EICrecon
shell: bash --login -eo pipefail {0}
run: |
Expand All @@ -856,7 +869,7 @@ jobs:
- id: upload_new_artifact
uses: actions/upload-artifact@v7
with:
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.edm4eic.root
path: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
if-no-files-found: error
- name: Download previous artifact
Expand All @@ -865,7 +878,7 @@ jobs:
with:
branch: ${{ github.base_ref || github.event.merge_group.base_ref || github.ref_name }}
path: ref/
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.edm4eic.root
workflow: ".github/workflows/build-push.yml"
workflow_conclusion: "success"
if_no_artifact_found: warn
Expand All @@ -877,8 +890,8 @@ jobs:
ln -sf ../rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root new/
shopt -s nullglob
capybara bara ref/rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root* new/rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root
mv capybara-reports rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
touch .rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
mv capybara-reports rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
touch .rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
- name: Write artifact metadata
env:
NEW_URL: ${{ steps.upload_new_artifact.outputs.artifact-url }}
Expand All @@ -895,13 +908,13 @@ jobs:
fi
fi
jq -nc --arg new "$NEW_URL" --arg ref "$REF_URL" '{new: $new, ref: $ref}' \
> rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}/meta.json
> rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}/meta.json
- uses: actions/upload-artifact@v7
with:
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.capy
name: rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}.capy
path: |
.rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}
rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}/
.rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}
rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_${{ matrix.arch }}/
if-no-files-found: error

eicrecon-dis:
Expand Down Expand Up @@ -985,10 +998,50 @@ jobs:
rec_dis_${{ matrix.beam }}_minQ2=${{ matrix.minq2 }}_${{ matrix.detector_config }}/
if-no-files-found: error

npsim-gun-cross-arch:
name: capybara (gun, ${{ matrix.particle }}, ${{ matrix.detector_config }}, amd64 vs arm64)
runs-on: ubuntu-latest
needs: [eic-manifest, npsim-gun]
container:
image: ghcr.io/eic/eic_ci:pipeline-${{ github.run_id }}
credentials:
username: ${{ secrets.GHCR_REGISTRY_USER }}
password: ${{ secrets.GHCR_REGISTRY_TOKEN }}
strategy:
fail-fast: false
matrix:
particle: [pi, e]
detector_config: [epic_craterlake]
steps:
- name: Download amd64 artifact
uses: actions/download-artifact@v8
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64.edm4hep.root
path: amd64/
- name: Download arm64 artifact
uses: actions/download-artifact@v8
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_arm64.edm4hep.root
path: arm64/
- name: Compare amd64 vs arm64 artifacts
shell: bash --login -eo pipefail {0}
run: |
mkdir capybara-reports
capybara bara amd64/sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root arm64/sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root
mv capybara-reports sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64_vs_arm64
touch .sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64_vs_arm64
- uses: actions/upload-artifact@v7
with:
name: sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64_vs_arm64.capy
path: |
.sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64_vs_arm64
sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}_amd64_vs_arm64/
if-no-files-found: error

merge-capybara:
name: Merge capybara reports
runs-on: ubuntu-latest
needs: [npsim-gun, npsim-dis, eicrecon-gun, eicrecon-dis]
needs: [npsim-gun, npsim-gun-cross-arch, npsim-dis, eicrecon-gun, eicrecon-dis]
steps:
- uses: actions/upload-artifact/merge@v7
with:
Expand Down
Loading