{2023.06}[foss/2023a] LPC3D 0.1.2 #1304
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions | |
| name: Check for discrepancies between software stacks in software.eessi.io | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| env: | |
| CUDA_COMPUTE_CAPABILITIES_YAML: | | |
| # Provide a default set of compute capabilities | |
| default: | |
| - cc70 | |
| - cc80 | |
| - cc90 | |
| # and then allow for special cases for specific architectures | |
| x86_64/amd/zen2: | |
| - cc70 | |
| - cc80 | |
| - cc90 | |
| aarch64/a64fx: [] | |
| jobs: | |
| compare_stacks: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| EESSI_VERSION: | |
| - 2023.06 | |
| - 2025.06 | |
| COMPARISON_ARCH: | |
| - aarch64/a64fx | |
| - aarch64/neoverse_n1 | |
| - aarch64/neoverse_v1 | |
| - aarch64/nvidia/grace | |
| - x86_64/amd/zen2 | |
| - x86_64/amd/zen3 | |
| - x86_64/amd/zen4 | |
| - x86_64/intel/haswell | |
| - x86_64/intel/skylake_avx512 | |
| - x86_64/intel/sapphirerapids | |
| - x86_64/intel/icelake | |
| - x86_64/intel/cascadelake | |
| # Example of how a specific target can be excluded: | |
| # exclude: | |
| # - EESSI_VERSION: 2023.06 | |
| # COMPARISON_ARCH: aarch64/a64fx | |
| steps: | |
| - name: Check out software-layer repository | |
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
| - name: Mount EESSI CernVM-FS pilot repository | |
| uses: eessi/github-action-eessi@v3 | |
| - name: Compare stacks | |
| run: | | |
| export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}} | |
| export EESSI_OS_TYPE=linux | |
| env | grep ^EESSI | sort | |
| # Compare the requested architecture to the generic stack | |
| # (assumes the general structure /cvmfs/software.eessi.io/versions/2023.06/software/linux/$COMPARISON_ARCH/modules/all) | |
| # and include a check for CUDA-enabled software using the environment variable CUDA_COMPUTE_CAPABILITIES | |
| # (which assumes the structure /cvmfs/software.eessi.io/versions/2023.06/software/linux/$COMPARISON_ARCH/accel/nvidia/$cc/modules/all) | |
| # Parse the yaml that makes the compute capabilities arch-dependent | |
| CUDA_COMPUTE_CAPABILITIES=$(echo "${CUDA_COMPUTE_CAPABILITIES_YAML}" | yq ".\"${{matrix.COMPARISON_ARCH}}\" // .default | .[]" | tr '\n' ' ') | |
| export CUDA_COMPUTE_CAPABILITIES=${CUDA_COMPUTE_CAPABILITIES%% } # trim trailing space | |
| .github/workflows/scripts/compare_to_generic.sh ${EESSI_PREFIX}/software/${EESSI_OS_TYPE} ${{matrix.COMPARISON_ARCH}} |