Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 65 additions & 9 deletions .github/workflows/test-software.eessi.io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
EESSI_VERSION: '2023.06'
EESSI_ACCELERATOR_TARGETS: |
x86_64/amd/zen2:
- nvidia/cc80
Expand All @@ -20,33 +19,90 @@ jobs:
fail-fast: false
matrix:
include:
# Arm CPU targets
# Arm CPU targets (EESSI 2023.06)
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/generic
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_n1
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_v1
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/nvidia/grace
# x86_64 CPU targets
# Arm CPU targets (EESSI 2025.06)
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/a64fx
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/generic
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_n1
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_v1
- runs_on: ubuntu-24.04-arm
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/nvidia/grace
# x86_64 CPU targets (EESSI 2023.06)
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen2
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen3
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen4
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/haswell
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/sapphirerapids
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/skylake_avx512
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/icelake
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/cascadelake
- runs_on: ubuntu-24.04
EESSI_VERSION: 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/generic
# x86_64 CPU targets (EESSI 2025.06)
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen2
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen3
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen4
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/haswell
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/sapphirerapids
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/skylake_avx512
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/icelake
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/cascadelake
- runs_on: ubuntu-24.04
EESSI_VERSION: 2025.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/generic
runs-on: ${{ matrix.runs_on }}
steps:
Expand Down Expand Up @@ -77,17 +133,17 @@ jobs:
- name: Check for missing installlations
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/software.eessi.io/versions/${EESSI_VERSION}/init/bash
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${EESSI_VERSION}
export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}
export EESSI_OS_TYPE=linux
env | grep ^EESSI | sort

# first check the CPU-only builds for this CPU target
echo "first run check_missing_installations.sh for CPU-only builds"
for easystack_file in $(EESSI_VERSION=${EESSI_VERSION} .github/workflows/scripts/only_latest_easystacks.sh); do
for easystack_file in $(EESSI_VERSION=${{matrix.EESSI_VERSION}} .github/workflows/scripts/only_latest_easystacks.sh); do
eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g')
echo "check missing installations for ${easystack_file} with EasyBuild ${eb_version}..."
module purge
Expand All @@ -107,7 +163,7 @@ jobs:
for accel in ${accelerators}; do
module use ${EESSI_SOFTWARE_PATH}/accel/${accel}/modules/all
echo "checking missing installations for accelerator ${accel} using modulepath: ${MODULEPATH}"
for easystack_file in $(EESSI_VERSION=${EESSI_VERSION} ACCEL_EASYSTACKS=1 .github/workflows/scripts/only_latest_easystacks.sh); do
for easystack_file in $(EESSI_VERSION=${{matrix.EESSI_VERSION}} ACCEL_EASYSTACKS=1 .github/workflows/scripts/only_latest_easystacks.sh); do
eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g')
echo "check missing installations for ${easystack_file} with EasyBuild ${eb_version}..."
module purge
Expand All @@ -128,14 +184,14 @@ jobs:
- name: Test check_missing_installations.sh with missing package (GCC/8.3.0)
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/software.eessi.io/versions/${EESSI_VERSION}/init/bash
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
module load EasyBuild
which eb
eb --version
export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${EESSI_VERSION}
export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}
export EESSI_OS_TYPE=linux
env | grep ^EESSI | sort
# create dummy easystack file with a single entry (something that is not installed in EESSI)
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/test_compare_stacks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ jobs:
matrix:
EESSI_VERSION:
- 2023.06
- 2025.06
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we ignoring A64FX for this scenario? (It is likely to be a bit of a problem case, so I'm fine with that, but it is also nice to be able to see how it is not consistent)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, we are, but I didn't do that deliberately.

Should be an easy fix to add it in COMPARISON_ARCH, and then exclude the 2023.06 + a64fx combo, let me try that...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed in a62b125

COMPARISON_ARCH:
- aarch64/a64fx
- aarch64/neoverse_n1
- aarch64/neoverse_v1
- aarch64/nvidia/grace
Expand All @@ -33,6 +35,9 @@ jobs:
- x86_64/intel/sapphirerapids
- x86_64/intel/icelake
- x86_64/intel/cascadelake
exclude:
- EESSI_VERSION: 2023.06
COMPARISON_ARCH: aarch64/a64fx
steps:
- name: Check out software-layer repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Expand Down