diff --git a/.github/workflows/build-frozen-release-alma9.yml b/.github/workflows/build-frozen-release-alma9.yml index e90c7dc87..fcb3b9f12 100644 --- a/.github/workflows/build-frozen-release-alma9.yml +++ b/.github/workflows/build-frozen-release-alma9.yml @@ -6,6 +6,9 @@ on: release: description: 'targeted release (e.g. v4.1.0)' required: true + det: + description: 'detector type (nd or fd)' + required: true build-number: description: 'frozen release build number, e.g. 1' required: true @@ -26,10 +29,11 @@ jobs: with: path: daq-release - - name: setup directories and install spack for the dunedaq release + - name: setup directories and install spack for the base release run: | + export DET=${{ github.event.inputs.det }} export BASE_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/dunedaq-${{ github.event.inputs.release }}-a9 - export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-${{ github.event.inputs.release }}-a9 + export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/${DET}daq-${{ github.event.inputs.release }}-a9 export OS=almalinux9 export BUILD_NUMBER=${{ github.event.inputs.build-number }} source daq-release/.github/workflows/wf-setup-tools.sh @@ -45,25 +49,26 @@ jobs: name: frozens_dunedaq path: ${{ github.workspace }}/tarballs_for_upload/dunedaq-${{ github.event.inputs.release }}-a9.tar.gz - - name: setup directories and install spack for the fddaq release + - name: setup directories and install spack for the detector release run: | + export DET=${{ github.event.inputs.det }} export BASE_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/dunedaq-${{ github.event.inputs.release }}-a9 - export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-${{ github.event.inputs.release }}-a9 + export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/${DET}daq-${{ github.event.inputs.release }}-a9 export OS=almalinux9 export BUILD_NUMBER=${{ github.event.inputs.build-number }} source daq-release/.github/workflows/wf-setup-tools.sh - daq-release/scripts/spack/build-release.sh $BASE_RELEASE_DIR $DET_RELEASE_DIR fd $OS + daq-release/scripts/spack/build-release.sh $BASE_RELEASE_DIR $DET_RELEASE_DIR $DET $OS cd $DET_RELEASE_DIR/.. tar_and_stage_release $DET_RELEASE_TAG - - name: upload spack frozen release tarball for fddaq + - name: upload spack frozen release tarball for detector release uses: actions/upload-artifact@v3 with: - name: frozens_fddaq - path: ${{ github.workspace }}/tarballs_for_upload/fddaq-${{ github.event.inputs.release }}-a9.tar.gz + name: frozens_${{ github.event.inputs.det }}daq + path: ${{ github.workspace }}/tarballs_for_upload/${{ github.event.inputs.det }}daq-${{ github.event.inputs.release }}-a9.tar.gz update_image: name: update_spack_image_rc @@ -85,16 +90,16 @@ jobs: mkdir -p ${GITHUB_WORKSPACE}/docker-build rm -rf ${GITHUB_WORKSPACE}/docker-build/* - - name: Download spack frozen release tarball artifact for dunedaq + - name: Download spack frozen release tarball artifact for base release uses: actions/download-artifact@v3 with: name: frozens_dunedaq path: ${{ github.workspace }}/docker-build - - name: Download spack frozen release tarball artifact for fddaq + - name: Download spack frozen release tarball artifact for detector release uses: actions/download-artifact@v3 with: - name: frozens_fddaq + name: frozens_${{ github.event.inputs.det }}daq path: ${{ github.workspace }}/docker-build - name: prepare cvmfs mirror spack-frozens @@ -109,16 +114,16 @@ jobs: tar xvf ../${dunedaq_tag}.tar.gz rm -rf ../${dunedaq_tag}.tar.gz - fddaq_tag=fddaq-${{ github.event.inputs.release }}-a9 - tar xvf ../${fddaq_tag}.tar.gz - rm -rf ../${fddaq_tag}.tar.gz + det_tag=${{ github.event.inputs.det }}daq-${{ github.event.inputs.release }}-a9 + tar xvf ../${det_tag}.tar.gz + rm -rf ../${det_tag}.tar.gz - cd ${fddaq_tag}; ln -s spack-*-gcc-* default; cd .. + cd ${det_tag}; ln -s spack-*-gcc-* default; cd .. cd .. echo "FROM ${image_name}"> Dockerfile echo 'MAINTAINER John Freeman "jcfree@fnal.gov"' >> Dockerfile - echo "ENV REFRESHED_FOR ${fddaq_tag}" >> Dockerfile + echo "ENV REFRESHED_FOR ${det_tag}" >> Dockerfile echo "COPY --from=ghcr.io/dune-daq/pypi-repo:latest /cvmfs/dunedaq.opensciencegrid.org/pypi-repo /cvmfs/dunedaq.opensciencegrid.org/pypi-repo" >> Dockerfile echo "ADD releases /cvmfs/dunedaq.opensciencegrid.org/spack/releases" >> Dockerfile echo 'ENTRYPOINT ["/bin/bash"]' >> Dockerfile @@ -137,7 +142,7 @@ jobs: images: | ${{ matrix.image }} tags: | - type=raw,value=spack-dev-frozen-split-test + type=raw,value=spack-dev-frozen-split - name: Build and push Docker images uses: docker/build-push-action@v5 @@ -153,33 +158,33 @@ jobs: runs-on: ubuntu-latest needs: update_image container: - image: "ghcr.io/dune-daq/alma9-slim-externals:spack-dev-frozen-split-test" + image: "ghcr.io/dune-daq/alma9-slim-externals:spack-dev-frozen-split" defaults: run: shell: bash steps: - - name: create dbt-setup-release-env.sh and daq_app_rte.sh for fddaq + - name: create dbt-setup-release-env.sh and daq_app_rte.sh for detector release run: | - DET=fd - daq_tag=${DET}daq-${{ github.event.inputs.release }}-a9 + DET=${{ github.event.inputs.det }} + source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh - setup_dbt latest|| true - dbt-setup-release ${daq_tag} + setup_dbt latest || true + dbt-setup-release ${DET}daq-${{ github.event.inputs.release }}-a9 declare -x > ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh declare -f >> ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh egrep "declare -x (PATH|.*_SHARE|CET_PLUGIN_PATH|DUNEDAQ_SHARE_PATH|LD_LIBRARY_PATH|LIBRARY_PATH|PYTHONPATH)=" ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh > ${GITHUB_WORKSPACE}/${DET}daq_app_rte.sh - - name: upload fddaq-dbt-setup-release-env.sh + - name: upload ${{ github.event.inputs.det }}daq-dbt-setup-release-env.sh uses: actions/upload-artifact@v3 with: - name: fddaq-dbt_setup_release_env - path: ${{ github.workspace }}/fddaq-dbt-setup-release-env.sh + name: ${{ github.event.inputs.det }}daq-dbt_setup_release_env + path: ${{ github.workspace }}/${{ github.event.inputs.det }}daq-dbt-setup-release-env.sh - - name: upload fddaq_app_rte.sh + - name: upload ${{ github.event.inputs.det }}daq_app_rte.sh uses: actions/upload-artifact@v3 with: - name: fddaq_app_rte - path: ${{ github.workspace }}/fddaq_app_rte.sh + name: ${{ github.event.inputs.det }}daq_app_rte + path: ${{ github.workspace }}/${{ github.event.inputs.det }}daq_app_rte.sh diff --git a/.github/workflows/build-frozen-release-sl7.yml b/.github/workflows/build-frozen-release-sl7.yml index 751ec0990..33c5e280b 100644 --- a/.github/workflows/build-frozen-release-sl7.yml +++ b/.github/workflows/build-frozen-release-sl7.yml @@ -1,4 +1,4 @@ -name: SL7 Build frozen release +name: SL7 Build frozen release on: workflow_dispatch: @@ -6,6 +6,9 @@ on: release: description: 'targeted release (e.g. v4.1.0)' required: true + det: + description: 'detector type (nd or fd)' + required: true build-number: description: 'frozen release build number, e.g. 1' required: true @@ -26,10 +29,11 @@ jobs: with: path: daq-release - - name: setup directories and install spack for the dunedaq release + - name: setup directories and install spack for the base release run: | + export DET=${{ github.event.inputs.det }} export BASE_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/dunedaq-${{ github.event.inputs.release }}-c8 - export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-${{ github.event.inputs.release }}-c8 + export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/${DET}daq-${{ github.event.inputs.release }}-c8 export OS=scientific7 export BUILD_NUMBER=${{ github.event.inputs.build-number }} source daq-release/.github/workflows/wf-setup-tools.sh @@ -45,24 +49,26 @@ jobs: name: frozens_dunedaq path: ${{ github.workspace }}/tarballs_for_upload/dunedaq-${{ github.event.inputs.release }}-c8.tar.gz - - name: setup directories and install spack for the fddaq release + - name: setup directories and install spack for the detector release run: | + export DET=${{ github.event.inputs.det }} export BASE_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/dunedaq-${{ github.event.inputs.release }}-c8 - export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-${{ github.event.inputs.release }}-c8 + export DET_RELEASE_DIR=/cvmfs/dunedaq.opensciencegrid.org/spack/releases/${DET}daq-${{ github.event.inputs.release }}-c8 export OS=scientific7 export BUILD_NUMBER=${{ github.event.inputs.build-number }} source daq-release/.github/workflows/wf-setup-tools.sh - daq-release/scripts/spack/build-release.sh $BASE_RELEASE_DIR $DET_RELEASE_DIR fd $OS + daq-release/scripts/spack/build-release.sh $BASE_RELEASE_DIR $DET_RELEASE_DIR $DET $OS cd $DET_RELEASE_DIR/.. tar_and_stage_release $DET_RELEASE_TAG - - name: upload spack frozen release tarball for fddaq + + - name: upload spack frozen release tarball for detector release uses: actions/upload-artifact@v3 with: - name: frozens_fddaq - path: ${{ github.workspace }}/tarballs_for_upload/fddaq-${{ github.event.inputs.release }}-c8.tar.gz + name: frozens_${{ github.event.inputs.det }}daq + path: ${{ github.workspace }}/tarballs_for_upload/${{ github.event.inputs.det }}daq-${{ github.event.inputs.release }}-c8.tar.gz update_image: name: update_spack_image_rc @@ -81,16 +87,21 @@ jobs: contents: read steps: - - name: Download spack frozen release tarball artifact for dunedaq + - name: clean docker-build + run: | + mkdir -p ${GITHUB_WORKSPACE}/docker-build + rm -rf ${GITHUB_WORKSPACE}/docker-build/* + + - name: Download spack frozen release tarball artifact for base release uses: actions/download-artifact@v3 with: name: frozens_dunedaq path: ${{ github.workspace }}/docker-build - - name: Download spack frozen release tarball artifact for fddaq + - name: Download spack frozen release tarball artifact for detector release uses: actions/download-artifact@v3 with: - name: frozens_fddaq + name: frozens_${{ github.event.inputs.det }}daq path: ${{ github.workspace }}/docker-build - name: prepare cvmfs mirror spack-frozens @@ -105,16 +116,16 @@ jobs: tar xvf ../${dunedaq_tag}.tar.gz rm -rf ../${dunedaq_tag}.tar.gz - fddaq_tag=fddaq-${{ github.event.inputs.release }}-c8 - tar xvf ../${fddaq_tag}.tar.gz - rm -rf ../${fddaq_tag}.tar.gz + det_tag=${{ github.event.inputs.det }}daq-${{ github.event.inputs.release }}-c8 + tar xvf ../${det_tag}.tar.gz + rm -rf ../${det_tag}.tar.gz - cd ${fddaq_tag}; ln -s spack-*-gcc-* default; cd .. + cd ${det_tag}; ln -s spack-*-gcc-* default; cd .. cd .. echo "FROM ${image_name}"> Dockerfile echo 'MAINTAINER John Freeman "jcfree@fnal.gov"' >> Dockerfile - echo "ENV REFRESHED_FOR ${fddaq_tag}" >> Dockerfile + echo "ENV REFRESHED_FOR ${det_tag}" >> Dockerfile echo "COPY --from=ghcr.io/dune-daq/pypi-repo:latest /cvmfs/dunedaq.opensciencegrid.org/pypi-repo /cvmfs/dunedaq.opensciencegrid.org/pypi-repo" >> Dockerfile echo "ADD releases /cvmfs/dunedaq.opensciencegrid.org/spack/releases" >> Dockerfile echo 'ENTRYPOINT ["/bin/bash"]' >> Dockerfile @@ -133,7 +144,7 @@ jobs: images: | ${{ matrix.image }} tags: | - type=raw,value=spack-dev-frozen-split-test + type=raw,value=spack-dev-frozen-split - name: Build and push Docker images uses: docker/build-push-action@v5 @@ -149,33 +160,33 @@ jobs: runs-on: ubuntu-latest needs: update_image container: - image: "ghcr.io/dune-daq/sl7-slim-externals:spack-dev-frozen-split-test" + image: "ghcr.io/dune-daq/sl7-slim-externals:spack-dev-frozen-split" defaults: run: shell: bash steps: - - name: create dbt-setup-release-env.sh and daq_app_rte.sh for fddaq + - name: create dbt-setup-release-env.sh and daq_app_rte.sh for detector release run: | - DET=fd - daq_tag=${DET}daq-${{ github.event.inputs.release }}-c8 + DET=${{ github.event.inputs.det }} + source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh - setup_dbt latest|| true - dbt-setup-release ${daq_tag} + setup_dbt latest || true + dbt-setup-release ${DET}daq-${{ github.event.inputs.release }}-c8 declare -x > ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh declare -f >> ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh egrep "declare -x (PATH|.*_SHARE|CET_PLUGIN_PATH|DUNEDAQ_SHARE_PATH|LD_LIBRARY_PATH|LIBRARY_PATH|PYTHONPATH)=" ${GITHUB_WORKSPACE}/${DET}daq-dbt-setup-release-env.sh > ${GITHUB_WORKSPACE}/${DET}daq_app_rte.sh - - name: upload fddaq-dbt-setup-release-env.sh + - name: upload ${{ github.event.inputs.det }}daq-dbt-setup-release-env.sh uses: actions/upload-artifact@v3 with: - name: fddaq-dbt_setup_release_env - path: ${{ github.workspace }}/fddaq-dbt-setup-release-env.sh + name: ${{ github.event.inputs.det }}daq-dbt_setup_release_env + path: ${{ github.workspace }}/${{ github.event.inputs.det }}daq-dbt-setup-release-env.sh - - name: upload fddaq_app_rte.sh + - name: upload ${{ github.event.inputs.det }}daq_app_rte.sh uses: actions/upload-artifact@v3 with: - name: fddaq_app_rte - path: ${{ github.workspace }}/fddaq_app_rte.sh + name: ${{ github.event.inputs.det }}daq_app_rte + path: ${{ github.workspace }}/${{ github.event.inputs.det }}daq_app_rte.sh