diff --git a/.github/workflows/linux-eic-shell.yml b/.github/workflows/linux-eic-shell.yml index 044091faa4723d0b3ace1fdbe4c1605d36d08c10..33beb726e7b036ce6e056df45ea1421f8364e865 100644 --- a/.github/workflows/linux-eic-shell.yml +++ b/.github/workflows/linux-eic-shell.yml @@ -3,16 +3,165 @@ name: linux-eic-shell on: [push, pull_request] jobs: - build-and-check-overlap: + xmllint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - run: | + sudo apt-get update + sudo apt-get install -y libxml2-utils + xmllint *.xml ip6/*.xml > /dev/null + + build-test: + runs-on: ubuntu-latest + needs: xmllint + steps: + - uses: actions/checkout@v2 - uses: cvmfs-contrib/github-action-cvmfs@v2 - uses: eic/run-cvmfs-osg-eic-shell@main with: platform-release: "jug_xl:nightly" run: | - cmake -B build -S . -DCMAKE_INSTALL_PREFIX=install + PREFIX=install + cmake -B build -S . -DCMAKE_INSTALL_PREFIX=${PREFIX} cmake --build build -- install - export LD_LIBRARY_PATH=${PWD}/install/lib:${LD_LIBRARY_PATH} - checkOverlaps -c install/share/ip6/eic_ip6.xml + - uses: actions/upload-artifact@v3 + with: + name: install + path: install/ + if-no-files-found: error + + convert-to-tgeo: + runs-on: ubuntu-latest + needs: build-test + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: install + path: install/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + setup: install/setup.sh + run: | + mkdir -p geo + dd_web_display --output geo/${BEAMLINE}.root ${BEAMLINE_PATH}/${BEAMLINE}.xml + - uses: actions/upload-artifact@v3 + with: + name: ip6.root + path: geo/ + if-no-files-found: error + + dump-constants: + runs-on: ubuntu-latest + needs: build-test + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: install + path: install/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + setup: install/setup.sh + run: | + mkdir -p doc + npdet_info dump ${BEAMLINE_PATH}/${BEAMLINE}.xml | tee doc/constants.out + - uses: actions/upload-artifact@v3 + with: + name: constants.out + path: doc/constants.out + if-no-files-found: error + + check-overlap-tgeo: + runs-on: ubuntu-latest + needs: build-test + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: install + path: install/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + setup: install/setup.sh + run: | + mkdir -p doc + checkOverlaps -c ${BEAMLINE_PATH}/${BEAMLINE_CONFIG}.xml | tee doc/overlap_check_tgeo.out + noverlaps="$(grep -c ovlp doc/overlap_check_tgeo.out || true)" + if [[ "${noverlaps}" -gt "0" ]] ; then echo "${noverlaps} overlaps found!" && false ; fi + + check-overlap-geant4: + runs-on: ubuntu-latest + needs: build-test + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: install + path: install/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + setup: install/setup.sh + run: | + mkdir -p doc + python scripts/checkOverlaps.py -c ${BEAMLINE_PATH}/${BEAMLINE_CONFIG}.xml | tee doc/overlap_check_geant4.out + noverlaps="$(grep -c GeomVol1002 doc/overlap_check_geant4.out || true)" + if [[ "${noverlaps}" -gt "0" ]] ; then echo "${noverlaps} overlaps found!" && false ; fi + + generate-prim-file: + runs-on: ubuntu-latest + needs: build-test + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: install + path: install/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + setup: install/setup.sh + run: | + bin/generate_prim_file -o prim -D -t detector_view -c ip6.xml + - uses: actions/upload-artifact@v3 + with: + name: detector_view.prim + path: prim/detector_view.prim + if-no-files-found: error + retention-days: 1 + + dawn-view: + runs-on: ubuntu-latest + needs: generate-prim-file + strategy: + matrix: + view: [view50] + fail-fast: false + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + with: + name: detector_view.prim + path: prim/ + - uses: cvmfs-contrib/github-action-cvmfs@v2 + - uses: eic/run-cvmfs-osg-eic-shell@main + with: + platform-release: "jug_xl:nightly" + run: | + mkdir -p images + bin/make_dawn_views -i prim/detector_view.prim -t ${{ matrix.view }} -d views/${{ matrix.view }} -D + - uses: actions/upload-artifact@v3 + with: + name: ${{ matrix.view }} + path: images/ + if-no-files-found: error diff --git a/.github/workflows/macos-lcg.yml b/.github/workflows/macos-lcg.yml deleted file mode 100644 index 593c84513e57714d1816ccfc327bf36ec65d2301..0000000000000000000000000000000000000000 --- a/.github/workflows/macos-lcg.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: macos-lcg - -on: [push, pull_request] - -jobs: - macos-1015: - runs-on: macos-10.15 - strategy: - fail-fast: false - matrix: - LCG: ["LCG_101/x86_64-mac1015-clang120-opt"] - steps: - - uses: actions/checkout@v2 - - uses: cvmfs-contrib/github-action-cvmfs@v2 - with: - cvmfs_repositories: 'sft.cern.ch,geant4.cern.ch' - - uses: aidasoft/run-lcg-view@v1 - with: - release-platform: ${{ matrix.LCG }} - run: | - cmake -B build -S . - cmake --build build -- install