From 3a53b05f048f6edee1a494fff95ba035df742c43 Mon Sep 17 00:00:00 2001 From: "Alexander J. Pfleger" <70842573+AJPfleger@users.noreply.github.com> Date: Sat, 26 Oct 2024 21:24:12 +0200 Subject: [PATCH] Update builds.yml --- .github/workflows/builds.yml | 576 +++++++++++++++++------------------ 1 file changed, 288 insertions(+), 288 deletions(-) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 65840f34f4d..da3349a8f75 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -109,291 +109,291 @@ jobs: - name: Downstream run run: ./build-downstream/bin/ShowActsVersion - linux_examples_test: - runs-on: ubuntu-latest - container: ghcr.io/acts-project/ubuntu2404:63 - needs: [linux_ubuntu] - env: - ACTS_SEQUENCER_DISABLE_FPEMON: true - DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - lfs: true - - - name: Install dependencies - run: CI/dependencies.sh - - - uses: actions/download-artifact@v4 - with: - name: acts-linux-ubuntu - - - name: Unpack build - run: mkdir build && tar xf build.tar.gz -C build - - - name: Python level tests - shell: bash - env: - PYTEST_MD_REPORT: true - PYTEST_MD_REPORT_VERBOSE: 0 - PYTEST_MD_REPORT_OUTPUT: pytest.md - run: > - geant4-config --install-datasets - && source build/this_acts_withdeps.sh - && python3 -m pip install -r Examples/Python/tests/requirements.txt - && python3 -m pip install pytest-md-report - && pytest -rFsv -k "not exatrkx" -v - && cat ${PYTEST_MD_REPORT_OUTPUT} >> $GITHUB_STEP_SUMMARY - - linux_physmon: - runs-on: ubuntu-latest - container: ghcr.io/acts-project/ubuntu2404:63 - needs: [linux_ubuntu] - env: - ACTS_SEQUENCER_DISABLE_FPEMON: true - DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - lfs: true - - - run: apt-get update && apt-get install -y time - - name: Install dependencies - run: CI/dependencies.sh - - - uses: actions/download-artifact@v4 - with: - name: acts-linux-ubuntu - - - name: Unpack build - run: mkdir build && tar xf build.tar.gz -C build - - - name: Save PR number - if: ${{ github.event_name == 'pull_request' }} - run: | - mkdir -p physmon - echo ${{ github.event.number }} > physmon/pr_number - echo ${{ github.event.pull_request.head.sha }} > physmon/sha - - - name: Physics performance checks - shell: bash - run: > - echo "::group::Dependencies" - && git config --global safe.directory "$GITHUB_WORKSPACE" - && python3 -m pip install histcmp==0.6.8 matplotlib - && python3 -m pip install -r Examples/Scripts/requirements.txt - && geant4-config --install-datasets - && venv_python=$(which python3) - && echo $venv_python - && source build/this_acts_withdeps.sh - && export PATH=$(dirname $venv_python):$PATH - && echo $PATH - && which python3 - && echo "::endgroup::" - && CI/physmon/phys_perf_mon.sh all physmon - - - name: Post step summary - if: always() - run: cat physmon/summary.md >> $GITHUB_STEP_SUMMARY - - - uses: actions/upload-artifact@v4 - if: always() - with: - name: physmon - path: physmon - - linux_physmon_perf_report: - needs: [linux_physmon] - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/main' - steps: - - name: Install dependencies - run: pip3 install spyral-cli==1.1.2 - - - uses: actions/download-artifact@v4 - with: - name: physmon - path: physmon - - - name: Store metrics - env: - SSH_AUTH_SOCK: /tmp/ssh_agent.sock - run: | - ssh-agent -a $SSH_AUTH_SOCK > /dev/null - ssh-add - <<< "${{ secrets.RUNTIME_METRIC_DEPLOY_SSH_KEY }}" - git config --global user.email "action@github.com" - git config --global user.name "GitHub Action" - git clone git@github.com:acts-project/runtime_metrics.git - spyral maxima runtime_metrics/metrics.csv physmon/memory/*.csv -e $(date +%Y-%m-%dT%H-%M-%S) -e ${GITHUB_REF_NAME} -e ${GITHUB_REF} -e ${GITHUB_SHA} - cd runtime_metrics - git add -A - git commit -m"update metrics" - git push - - linux_ubuntu_extra: - runs-on: ubuntu-latest - strategy: - matrix: - include: - - image: ubuntu2204 - std: 20 - - image: ubuntu2204_clang - std: 20 - container: ghcr.io/acts-project/${{ matrix.image }}:63 - env: - INSTALL_DIR: ${{ github.workspace }}/install - ACTS_LOG_FAILURE_THRESHOLD: WARNING - DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-22.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst - steps: - - uses: actions/checkout@v4 - with: - submodules: true - lfs: true - - - name: Install dependencies - run: CI/dependencies.sh - - - name: Restore ccache - uses: actions/cache/restore@v4 - id: ccache-restore - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}-${{ github.sha }} - restore-keys: | - ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}- - - - - name: Configure - # setting CMAKE_CXX_STANDARD=20 is a workaround for a bug in the - # dd4hep CMake configuration that gets triggered on recent CMake - # versions - run: > - ccache -z && - cmake -B build -S . - --preset=github-ci - -DCMAKE_CXX_STANDARD=${{ matrix.std }} - -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" - -DPython_EXECUTABLE=$(which python3) - - - name: Build - run: cmake --build build - - - name: ccache stats - run: ccache -s - - - name: Save ccache - uses: actions/cache/save@v4 - if: always() - with: - path: ${{ github.workspace }}/ccache - key: ${{ steps.ccache-restore.outputs.cache-primary-key }} - - - name: Unit tests - run: cmake --build build --target test - - - name: Integration tests - run: cmake --build build --target integrationtests - - - name: Install - run: cmake --build build --target install - - - name: Downstream configure - run: > - cmake -B build-downstream -S Tests/DownstreamProject - -GNinja - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_FLAGS=-Werror - -DCMAKE_CXX_STANDARD=${{ matrix.std }} - -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" - - - name: Downstream build - run: cmake --build build-downstream - - - name: Downstream run - run: ./build-downstream/bin/ShowActsVersion - - macos: - runs-on: macos-14 - env: - INSTALL_DIR: ${{ github.workspace }}/install_acts - ACTS_LOG_FAILURE_THRESHOLD: WARNING - DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/macos-14/deps.${{ env.DEPENDENCY_TAG }}.tar.zst - steps: - - uses: actions/checkout@v4 - with: - submodules: true - lfs: true - - - name: Print architecture - run: uname -p - - - name: Install dependencies - run: > - brew install cmake ninja ccache xerces-c - && CI/dependencies.sh - - - name: Restore ccache - uses: actions/cache/restore@v4 - id: ccache-restore - with: - path: ${{ env.CCACHE_DIR }} - key: ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}-${{ github.sha }} - restore-keys: | - ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}- - - - name: Configure - run: > - ccache -z - && cmake -B build -S . - --preset=github-ci - -DCMAKE_PREFIX_PATH="${{ env.DEPENDENCY_DIR }}" - -DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}" - -DPython_EXECUTABLE=$(which python3) - - - name: Build - run: cmake --build build - - - name: ccache stats - run: ccache -s - - - name: Save ccache - uses: actions/cache/save@v4 - if: always() - with: - path: ${{ github.workspace }}/ccache - key: ${{ steps.ccache-restore.outputs.cache-primary-key }} - - - name: Unit tests - run: cmake --build build --target test - - - name: Integration tests - run: cmake --build build --target integrationtests - - - name: Install - run: cmake --build build --target install - - - uses: actions/upload-artifact@v4 - with: - name: acts-macos - path: ${{ env.INSTALL_DIR }} - - - name: Downstream configure - run: > - cmake -B build-downstream -S Tests/DownstreamProject - -GNinja - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_FLAGS=-Werror - -DCMAKE_CXX_STANDARD=20 - -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" - - - name: Downstream build - run: cmake --build build-downstream - - - name: Downstream run - run: > - PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH" - && ./build-downstream/bin/ShowActsVersion + # linux_examples_test: + # runs-on: ubuntu-latest + # container: ghcr.io/acts-project/ubuntu2404:63 + # needs: [linux_ubuntu] + # env: + # ACTS_SEQUENCER_DISABLE_FPEMON: true + # DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst + + # steps: + # - uses: actions/checkout@v4 + # with: + # submodules: true + # lfs: true + + # - name: Install dependencies + # run: CI/dependencies.sh + + # - uses: actions/download-artifact@v4 + # with: + # name: acts-linux-ubuntu + + # - name: Unpack build + # run: mkdir build && tar xf build.tar.gz -C build + + # - name: Python level tests + # shell: bash + # env: + # PYTEST_MD_REPORT: true + # PYTEST_MD_REPORT_VERBOSE: 0 + # PYTEST_MD_REPORT_OUTPUT: pytest.md + # run: > + # geant4-config --install-datasets + # && source build/this_acts_withdeps.sh + # && python3 -m pip install -r Examples/Python/tests/requirements.txt + # && python3 -m pip install pytest-md-report + # && pytest -rFsv -k "not exatrkx" -v + # && cat ${PYTEST_MD_REPORT_OUTPUT} >> $GITHUB_STEP_SUMMARY + + # linux_physmon: + # runs-on: ubuntu-latest + # container: ghcr.io/acts-project/ubuntu2404:63 + # needs: [linux_ubuntu] + # env: + # ACTS_SEQUENCER_DISABLE_FPEMON: true + # DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst + + # steps: + # - uses: actions/checkout@v4 + # with: + # submodules: true + # lfs: true + + # - run: apt-get update && apt-get install -y time + # - name: Install dependencies + # run: CI/dependencies.sh + + # - uses: actions/download-artifact@v4 + # with: + # name: acts-linux-ubuntu + + # - name: Unpack build + # run: mkdir build && tar xf build.tar.gz -C build + + # - name: Save PR number + # if: ${{ github.event_name == 'pull_request' }} + # run: | + # mkdir -p physmon + # echo ${{ github.event.number }} > physmon/pr_number + # echo ${{ github.event.pull_request.head.sha }} > physmon/sha + + # - name: Physics performance checks + # shell: bash + # run: > + # echo "::group::Dependencies" + # && git config --global safe.directory "$GITHUB_WORKSPACE" + # && python3 -m pip install histcmp==0.6.8 matplotlib + # && python3 -m pip install -r Examples/Scripts/requirements.txt + # && geant4-config --install-datasets + # && venv_python=$(which python3) + # && echo $venv_python + # && source build/this_acts_withdeps.sh + # && export PATH=$(dirname $venv_python):$PATH + # && echo $PATH + # && which python3 + # && echo "::endgroup::" + # && CI/physmon/phys_perf_mon.sh all physmon + + # - name: Post step summary + # if: always() + # run: cat physmon/summary.md >> $GITHUB_STEP_SUMMARY + + # - uses: actions/upload-artifact@v4 + # if: always() + # with: + # name: physmon + # path: physmon + + # linux_physmon_perf_report: + # needs: [linux_physmon] + # runs-on: ubuntu-latest + # if: github.ref == 'refs/heads/main' + # steps: + # - name: Install dependencies + # run: pip3 install spyral-cli==1.1.2 + + # - uses: actions/download-artifact@v4 + # with: + # name: physmon + # path: physmon + + # - name: Store metrics + # env: + # SSH_AUTH_SOCK: /tmp/ssh_agent.sock + # run: | + # ssh-agent -a $SSH_AUTH_SOCK > /dev/null + # ssh-add - <<< "${{ secrets.RUNTIME_METRIC_DEPLOY_SSH_KEY }}" + # git config --global user.email "action@github.com" + # git config --global user.name "GitHub Action" + # git clone git@github.com:acts-project/runtime_metrics.git + # spyral maxima runtime_metrics/metrics.csv physmon/memory/*.csv -e $(date +%Y-%m-%dT%H-%M-%S) -e ${GITHUB_REF_NAME} -e ${GITHUB_REF} -e ${GITHUB_SHA} + # cd runtime_metrics + # git add -A + # git commit -m"update metrics" + # git push + + # linux_ubuntu_extra: + # runs-on: ubuntu-latest + # strategy: + # matrix: + # include: + # - image: ubuntu2204 + # std: 20 + # - image: ubuntu2204_clang + # std: 20 + # container: ghcr.io/acts-project/${{ matrix.image }}:63 + # env: + # INSTALL_DIR: ${{ github.workspace }}/install + # ACTS_LOG_FAILURE_THRESHOLD: WARNING + # DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/ubuntu-22.04/deps.${{ env.DEPENDENCY_TAG }}.tar.zst + # steps: + # - uses: actions/checkout@v4 + # with: + # submodules: true + # lfs: true + + # - name: Install dependencies + # run: CI/dependencies.sh + + # - name: Restore ccache + # uses: actions/cache/restore@v4 + # id: ccache-restore + # with: + # path: ${{ env.CCACHE_DIR }} + # key: ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}-${{ github.sha }} + # restore-keys: | + # ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}- + + + # - name: Configure + # # setting CMAKE_CXX_STANDARD=20 is a workaround for a bug in the + # # dd4hep CMake configuration that gets triggered on recent CMake + # # versions + # run: > + # ccache -z && + # cmake -B build -S . + # --preset=github-ci + # -DCMAKE_CXX_STANDARD=${{ matrix.std }} + # -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" + # -DPython_EXECUTABLE=$(which python3) + + # - name: Build + # run: cmake --build build + + # - name: ccache stats + # run: ccache -s + + # - name: Save ccache + # uses: actions/cache/save@v4 + # if: always() + # with: + # path: ${{ github.workspace }}/ccache + # key: ${{ steps.ccache-restore.outputs.cache-primary-key }} + + # - name: Unit tests + # run: cmake --build build --target test + + # - name: Integration tests + # run: cmake --build build --target integrationtests + + # - name: Install + # run: cmake --build build --target install + + # - name: Downstream configure + # run: > + # cmake -B build-downstream -S Tests/DownstreamProject + # -GNinja + # -DCMAKE_BUILD_TYPE=Release + # -DCMAKE_CXX_FLAGS=-Werror + # -DCMAKE_CXX_STANDARD=${{ matrix.std }} + # -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" + + # - name: Downstream build + # run: cmake --build build-downstream + + # - name: Downstream run + # run: ./build-downstream/bin/ShowActsVersion + + # macos: + # runs-on: macos-14 + # env: + # INSTALL_DIR: ${{ github.workspace }}/install_acts + # ACTS_LOG_FAILURE_THRESHOLD: WARNING + # DEPENDENCY_URL: https://acts.web.cern.ch/ACTS/ci/macos-14/deps.${{ env.DEPENDENCY_TAG }}.tar.zst + # steps: + # - uses: actions/checkout@v4 + # with: + # submodules: true + # lfs: true + + # - name: Print architecture + # run: uname -p + + # - name: Install dependencies + # run: > + # brew install cmake ninja ccache xerces-c + # && CI/dependencies.sh + + # - name: Restore ccache + # uses: actions/cache/restore@v4 + # id: ccache-restore + # with: + # path: ${{ env.CCACHE_DIR }} + # key: ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}-${{ github.sha }} + # restore-keys: | + # ccache-${{ runner.os }}-${{ github.job }}-${{ env.CCACHE_KEY_SUFFIX }}- + + # - name: Configure + # run: > + # ccache -z + # && cmake -B build -S . + # --preset=github-ci + # -DCMAKE_PREFIX_PATH="${{ env.DEPENDENCY_DIR }}" + # -DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}" + # -DPython_EXECUTABLE=$(which python3) + + # - name: Build + # run: cmake --build build + + # - name: ccache stats + # run: ccache -s + + # - name: Save ccache + # uses: actions/cache/save@v4 + # if: always() + # with: + # path: ${{ github.workspace }}/ccache + # key: ${{ steps.ccache-restore.outputs.cache-primary-key }} + + # - name: Unit tests + # run: cmake --build build --target test + + # - name: Integration tests + # run: cmake --build build --target integrationtests + + # - name: Install + # run: cmake --build build --target install + + # - uses: actions/upload-artifact@v4 + # with: + # name: acts-macos + # path: ${{ env.INSTALL_DIR }} + + # - name: Downstream configure + # run: > + # cmake -B build-downstream -S Tests/DownstreamProject + # -GNinja + # -DCMAKE_BUILD_TYPE=Release + # -DCMAKE_CXX_FLAGS=-Werror + # -DCMAKE_CXX_STANDARD=20 + # -DCMAKE_PREFIX_PATH="${INSTALL_DIR}" + + # - name: Downstream build + # run: cmake --build build-downstream + + # - name: Downstream run + # run: > + # PATH="${{ env.DEPENDENCY_DIR }}/bin:$PATH" + # && ./build-downstream/bin/ShowActsVersion