From 3c27e937f48f33d86d071c985c77780910baaeae Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Mon, 8 May 2023 15:59:26 +0200 Subject: [PATCH 1/4] update validation image --- .github/workflows/validation.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 043ad847..414399ee 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -20,7 +20,7 @@ jobs: name: Validate library runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest steps: - uses: rest-for-physics/framework/.github/actions/checkout@master with: @@ -33,7 +33,7 @@ jobs: name: Validate pre-commit config runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest steps: - name: Checkout axionlib uses: rest-for-physics/framework/.github/actions/checkout@master @@ -50,7 +50,7 @@ jobs: name: Build only axionlib runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest steps: - name: Build and install uses: rest-for-physics/framework/.github/actions/build@master @@ -68,7 +68,7 @@ jobs: name: "Macros with clean error output" runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - uses: rest-for-physics/framework/.github/actions/checkout@master @@ -94,7 +94,7 @@ jobs: name: Check physics runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - uses: rest-for-physics/framework/.github/actions/checkout@master @@ -125,7 +125,7 @@ jobs: name: Check metadata runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - uses: rest-for-physics/framework/.github/actions/checkout@master @@ -194,7 +194,7 @@ jobs: name: Check ray-tracing processing chain runs-on: ubuntu-latest container: - image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics + image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - uses: rest-for-physics/framework/.github/actions/checkout@master From ee616d684b7d76895edbecd6d01b1fd948045602 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Mon, 8 May 2023 17:21:44 +0200 Subject: [PATCH 2/4] using distinct cache key --- .github/workflows/validation.yml | 264 +++++++++++++++---------------- 1 file changed, 132 insertions(+), 132 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 414399ee..98862482 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -61,7 +61,7 @@ jobs: id: axionlib-install-cache uses: actions/cache@v3 with: - key: ${{ env.BRANCH_NAME }}-${{ github.sha }} + key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }} path: ${{ env.REST_PATH }} macros-health: @@ -80,7 +80,7 @@ jobs: uses: actions/cache@v3 id: axionlib-install-cache with: - key: ${{ env.BRANCH_NAME }}-${{ github.sha }} + key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }} path: ${{ env.REST_PATH }} - name: Load restRootMacros in axiolib standalone run: | @@ -97,29 +97,29 @@ jobs: image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - - uses: rest-for-physics/framework/.github/actions/checkout@master - with: - branch: ${{ env.BRANCH_NAME }} - repository: rest-for-physics/axionlib - path: ${{ env.AXION_LIB_PATH }} - - name: Restore cache - uses: actions/cache@v3 - id: axionlib-install-cache - with: - key: ${{ env.BRANCH_NAME }}-${{ github.sha }} - path: ${{ env.REST_PATH }} - - name: Basic physics tests - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/physics/ - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff - wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.abs - wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.nff - wget https://sultan.unizar.es/axionlib-data/bufferGas/bufferGases.rml - wget https://sultan.unizar.es/axionlib-data/magneticField/fields.rml - wget https://sultan.unizar.es/axionlib-data/magneticField/Bykovskiy_201906.dat - restRoot -b -q AxionPhysicsValidation.C + - uses: rest-for-physics/framework/.github/actions/checkout@master + with: + branch: ${{ env.BRANCH_NAME }} + repository: rest-for-physics/axionlib + path: ${{ env.AXION_LIB_PATH }} + - name: Restore cache + uses: actions/cache@v3 + id: axionlib-install-cache + with: + key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }} + path: ${{ env.REST_PATH }} + - name: Basic physics tests + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/physics/ + wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs + wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff + wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.abs + wget https://sultan.unizar.es/axionlib-data/bufferGas/Ne.nff + wget https://sultan.unizar.es/axionlib-data/bufferGas/bufferGases.rml + wget https://sultan.unizar.es/axionlib-data/magneticField/fields.rml + wget https://sultan.unizar.es/axionlib-data/magneticField/Bykovskiy_201906.dat + restRoot -b -q AxionPhysicsValidation.C Metadata: name: Check metadata @@ -128,67 +128,67 @@ jobs: image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - - uses: rest-for-physics/framework/.github/actions/checkout@master - with: - branch: ${{ env.BRANCH_NAME }} - repository: rest-for-physics/axionlib - path: ${{ env.AXION_LIB_PATH }} - - name: Restore cache - uses: actions/cache@v3 - id: axionlib-install-cache - with: - key: ${{ env.BRANCH_NAME }}-${{ github.sha }} - path: ${{ env.REST_PATH }} - - name: Magnetic field - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/magneticField/ - wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml - wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat - python magneticField.py - cd trilinear - wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml - restRoot -b -q GetMagneticField_test.C - cd ../boundary/ - restRoot -b -q Boundaries_test.C - - name: Optics Mirrors - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/ - wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/mirrors.rml - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_C_30_SiO2_0.N901f - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_C_30_SiO2_0.N901f - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f - python mirrors.py - - name: MCPL Optics - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/ - wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml - python mcpl.py - - name: X-ray transmission - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/transmission/ - wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml - wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol - wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol - wget https://rest-for-physics.github.io/axionlib-data/transmission/Si3N4.sol - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ env.REST_PATH }}/mpfr-4.0.2/install/lib - python windowPlot.py - - name: Solar flux - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/solarFlux/ - wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml - wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Dummy_Galan_202202.spt - wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_Gianotti_201904.dat - wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat - python solarTests.py - python solarPlot.py - python compare.py + - uses: rest-for-physics/framework/.github/actions/checkout@master + with: + branch: ${{ env.BRANCH_NAME }} + repository: rest-for-physics/axionlib + path: ${{ env.AXION_LIB_PATH }} + - name: Restore cache + uses: actions/cache@v3 + id: axionlib-install-cache + with: + key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }} + path: ${{ env.REST_PATH }} + - name: Magnetic field + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/magneticField/ + wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml + wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat + python magneticField.py + cd trilinear + wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml + restRoot -b -q GetMagneticField_test.C + cd ../boundary/ + restRoot -b -q Boundaries_test.C + - name: Optics Mirrors + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/ + wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/mirrors.rml + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_C_30_SiO2_0.N901f + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_C_30_SiO2_0.N901f + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f + python mirrors.py + - name: MCPL Optics + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/optics/ + wget https://rest-for-physics.github.io/axionlib-data/optics/optics.rml + python mcpl.py + - name: X-ray transmission + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/transmission/ + wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml + wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol + wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol + wget https://rest-for-physics.github.io/axionlib-data/transmission/Si3N4.sol + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ env.REST_PATH }}/mpfr-4.0.2/install/lib + python windowPlot.py + - name: Solar flux + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/metadata/solarFlux/ + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Dummy_Galan_202202.spt + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_Gianotti_201904.dat + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat + python solarTests.py + python solarPlot.py + python compare.py Ray-tracing: name: Check ray-tracing processing chain @@ -197,49 +197,49 @@ jobs: image: ghcr.io/rest-for-physics/root:latest needs: [ build-axionlib ] steps: - - uses: rest-for-physics/framework/.github/actions/checkout@master - with: - branch: ${{ env.BRANCH_NAME }} - repository: rest-for-physics/axionlib - path: ${{ env.AXION_LIB_PATH }} - - name: Restore cache - uses: actions/cache@v3 - id: axionlib-install-cache - with: - key: ${{ env.BRANCH_NAME }}-${{ github.sha }} - path: ${{ env.REST_PATH }} - - name: XMM optics bench ray-tracing - run: | - source ${{ env.REST_PATH }}/thisREST.sh - export REST_NEVENTS=1000 - export REST_RUN=100 - cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/optics/ - wget https://rest-for-physics.github.io/axionlib-data/optics/xmm.rml - wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.Wolter - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f - wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f - restManager --c opticsBench.rml - restRoot -b -q ValidateXMM.C'("OpticsBench_Yaw_0.05_Dev_0.005_BabyIAXO_Run00100.root")' - - name: Window transmission - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/transmission/ - wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol - restManager --c emptyWindow.rml - restRoot ValidateTransmission.C'("EmptyVacuumWindow.root", 0.07, 0.09)' - restManager --c shiftedWindow.rml - restRoot ValidateTransmission.C'("ShiftedVacuumWindow", 0.3, 0.5)' - restManager --c siWindow.rml - restRoot -b -q ValidateTransmission.C'("SiWindow.root", 0.9, 1)' - - name: Axion-field integration - run: | - source ${{ env.REST_PATH }}/thisREST.sh - cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/axion-field/ - wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml - wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff - wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml - restManager --c photonConversion.rml - restRoot -b -q Validate.C'(5.86614e-19, 1.61288)' - python3 validateStreamer.py + - uses: rest-for-physics/framework/.github/actions/checkout@master + with: + branch: ${{ env.BRANCH_NAME }} + repository: rest-for-physics/axionlib + path: ${{ env.AXION_LIB_PATH }} + - name: Restore cache + uses: actions/cache@v3 + id: axionlib-install-cache + with: + key: ${{ env.BRANCH_NAME }}-axion-${{ github.sha }} + path: ${{ env.REST_PATH }} + - name: XMM optics bench ray-tracing + run: | + source ${{ env.REST_PATH }}/thisREST.sh + export REST_NEVENTS=1000 + export REST_RUN=100 + cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/optics/ + wget https://rest-for-physics.github.io/axionlib-data/optics/xmm.rml + wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.Wolter + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f + restManager --c opticsBench.rml + restRoot -b -q ValidateXMM.C'("OpticsBench_Yaw_0.05_Dev_0.005_BabyIAXO_Run00100.root")' + - name: Window transmission + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/transmission/ + wget https://rest-for-physics.github.io/axionlib-data/transmission/Si.sol + restManager --c emptyWindow.rml + restRoot ValidateTransmission.C'("EmptyVacuumWindow.root", 0.07, 0.09)' + restManager --c shiftedWindow.rml + restRoot ValidateTransmission.C'("ShiftedVacuumWindow", 0.3, 0.5)' + restManager --c siWindow.rml + restRoot -b -q ValidateTransmission.C'("SiWindow.root", 0.9, 1)' + - name: Axion-field integration + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/axion-field/ + wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml + wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat + wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs + wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff + wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml + restManager --c photonConversion.rml + restRoot -b -q Validate.C'(5.86614e-19, 1.61288)' + python3 validateStreamer.py From 6909c77578f349e48a68a1089551ea96c50b245f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Mon, 8 May 2023 17:26:33 +0200 Subject: [PATCH 3/4] add missing step --- .github/workflows/validation.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 98862482..34c049e8 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -243,3 +243,26 @@ jobs: restManager --c photonConversion.rml restRoot -b -q Validate.C'(5.86614e-19, 1.61288)' python3 validateStreamer.py + - name: Full ray-tracing + run: | + source ${{ env.REST_PATH }}/thisREST.sh + cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/full-chain/ + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/fluxes.rml + wget https://rest-for-physics.github.io/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat + wget https://rest-for-physics.github.io/axionlib-data/transmission/windows.rml + wget https://rest-for-physics.github.io/axionlib-data/transmission/Al.sol + wget https://rest-for-physics.github.io/axionlib-data/transmission/Cu.sol + wget https://rest-for-physics.github.io/axionlib-data/transmission/C10H8O4.sol + wget https://rest-for-physics.github.io/axionlib-data/optics/xmmTrueWolter.rml + wget https://rest-for-physics.github.io/axionlib-data/optics/XMM.trueWolter + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f + wget https://rest-for-physics.github.io/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f + wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml + wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat + wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs + wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff + export REST_LOW_AXION_MASS=1e-2 + export REST_HIGH_AXION_MASS=1e-1 + export REST_GAS_STEP=2 + restManager --c BabyIAXO_Micromegas_XMM.rml --o output.root + restRoot -q ValidateChain.C'("output.root")' From e489e4a8dd7487c6e168193c86608a5ae3012ebe Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Mon, 8 May 2023 17:28:55 +0200 Subject: [PATCH 4/4] revert unintended changes --- .github/workflows/validation.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 34c049e8..1c9da188 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -237,11 +237,11 @@ jobs: cd ${{ env.AXION_LIB_PATH }}/pipeline/ray-tracing/axion-field/ wget https://rest-for-physics.github.io/axionlib-data/magneticField/fields.rml wget https://rest-for-physics.github.io/axionlib-data/magneticField/Bykovskiy_201906.dat - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.abs - wget https://sultan.unizar.es/axionlib-data/bufferGas/He.nff + wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.abs + wget https://rest-for-physics.github.io/axionlib-data/bufferGas/He.nff wget https://rest-for-physics.github.io/axionlib-data/bufferGas/bufferGases.rml restManager --c photonConversion.rml - restRoot -b -q Validate.C'(5.86614e-19, 1.61288)' + restRoot -b -q Validate.C python3 validateStreamer.py - name: Full ray-tracing run: |