From fe85ce4385844dfea1617210b6da6abcedcaede4 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 4 Mar 2025 17:55:13 +0100 Subject: [PATCH 1/4] Update GitHub Actions config Ubuntu 20.04 runners will be removed soon and may fail to start already (brownout) --- .github/workflows/container_tests.yml | 4 ++-- .github/workflows/container_tests_apptainer.yml | 4 ++-- .github/workflows/eb_command.yml | 6 +++--- .github/workflows/linting.yml | 4 ++-- .github/workflows/unit_tests.yml | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/container_tests.yml b/.github/workflows/container_tests.yml index 4521186580..ede1ff3362 100644 --- a/.github/workflows/container_tests.yml +++ b/.github/workflows/container_tests.yml @@ -17,10 +17,10 @@ jobs: python: [3.7] fail-fast: false steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@v4 - name: set up Python - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + uses: actions/setup-python@v5 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/container_tests_apptainer.yml b/.github/workflows/container_tests_apptainer.yml index 1f8417ea7d..ad8a8b84a9 100644 --- a/.github/workflows/container_tests_apptainer.yml +++ b/.github/workflows/container_tests_apptainer.yml @@ -18,10 +18,10 @@ jobs: apptainer: [1.0.0, 1.1.7, 1.3.6] fail-fast: false steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@v4 - name: set up Python - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + uses: actions/setup-python@v5 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/eb_command.yml b/.github/workflows/eb_command.yml index e1c3f87996..b5ba13a348 100644 --- a/.github/workflows/eb_command.yml +++ b/.github/workflows/eb_command.yml @@ -11,16 +11,16 @@ concurrency: jobs: test-eb: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: python: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] fail-fast: false steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@v4 - name: set up Python - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + uses: actions/setup-python@v5 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index faff6f75a9..81ed0a83aa 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -15,10 +15,10 @@ jobs: matrix: python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@v4 - name: set up Python - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index a2409daeae..9d32f272e9 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -11,7 +11,7 @@ concurrency: jobs: setup: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest outputs: lmod8: Lmod-8.7.58 modules4: modules-4.5.3 @@ -20,7 +20,7 @@ jobs: - run: "true" build: needs: setup - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: # Python 3.10 is default in Ubuntu 22.04 @@ -48,10 +48,10 @@ jobs: modules_tool: ${{needs.setup.outputs.lmod8}} fail-fast: false steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@v4 - name: set up Python - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 + uses: actions/setup-python@v5 with: python-version: ${{matrix.python}} architecture: x64 From 7e84df9a3bd14007f6b08ef6033a3470bcf765ee Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 5 Mar 2025 08:46:09 +0100 Subject: [PATCH 2/4] Use only available Python versions Not all Python versions are available on every OS. Update to use another Python version or a different OS. --- .github/workflows/eb_command.yml | 7 +++++-- .github/workflows/linting.yml | 8 ++++++-- .github/workflows/unit_tests.yml | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/eb_command.yml b/.github/workflows/eb_command.yml index b5ba13a348..fc62d64a25 100644 --- a/.github/workflows/eb_command.yml +++ b/.github/workflows/eb_command.yml @@ -11,11 +11,14 @@ concurrency: jobs: test-eb: - runs-on: ubuntu-24.04 strategy: matrix: - python: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] + python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] + include: + - python: 3.7 + os: ubuntu-22.04 fail-fast: false + runs-on: ${{matrix.os || 'ubuntu-24.04'}} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 81ed0a83aa..e15d78f59a 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -10,10 +10,14 @@ concurrency: jobs: python-linting: - runs-on: ubuntu-22.04 strategy: matrix: - python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] + python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13'] + include: + - python: 3.7 + os: ubuntu-22.04 + fail-fast: false + runs-on: ${{matrix.os || 'ubuntu-24.04'}} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 9d32f272e9..e98f3141cd 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -20,7 +20,7 @@ jobs: - run: "true" build: needs: setup - runs-on: ubuntu-24.04 + runs-on: ${{matrix.os || 'ubuntu-24.04'}} strategy: matrix: # Python 3.10 is default in Ubuntu 22.04 @@ -36,6 +36,7 @@ jobs: # Test different Python 3 versions with Lmod 8.x (with both Lua and Tcl module syntax) - python: '3.7' modules_tool: ${{needs.setup.outputs.lmod8}} + os: ubuntu-22.04 - python: '3.8' modules_tool: ${{needs.setup.outputs.lmod8}} - python: '3.9' From 9b804c4e37e077799cbb63e3ab1262c78cf667d9 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Thu, 6 Mar 2025 10:20:01 +0100 Subject: [PATCH 3/4] Remove LC_ALL matrix entry Never changed so it is a constant --- .github/workflows/unit_tests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index e98f3141cd..46c65821af 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -31,7 +31,6 @@ jobs: - ${{needs.setup.outputs.lmod8}} - ${{needs.setup.outputs.modules4}} - ${{needs.setup.outputs.modules5}} - lc_all: [""] include: # Test different Python 3 versions with Lmod 8.x (with both Lua and Tcl module syntax) - python: '3.7' @@ -137,7 +136,7 @@ jobs: - name: run test suite env: EB_VERBOSE: 1 - LC_ALL: ${{matrix.lc_all}} + LC_ALL: "" run: | # run tests *outside* of checked out easybuild-framework directory, # to ensure we're testing installed version (see previous step) From ac8b0526a9bbd1e933c92d49a30c86290710aa27 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 7 Mar 2025 09:51:03 +0100 Subject: [PATCH 4/4] Switch back to referencing actions by commit --- .github/workflows/container_tests.yml | 4 ++-- .github/workflows/container_tests_apptainer.yml | 4 ++-- .github/workflows/eb_command.yml | 4 ++-- .github/workflows/linting.yml | 4 ++-- .github/workflows/unit_tests.yml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/container_tests.yml b/.github/workflows/container_tests.yml index ede1ff3362..4521186580 100644 --- a/.github/workflows/container_tests.yml +++ b/.github/workflows/container_tests.yml @@ -17,10 +17,10 @@ jobs: python: [3.7] fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/container_tests_apptainer.yml b/.github/workflows/container_tests_apptainer.yml index ad8a8b84a9..1f8417ea7d 100644 --- a/.github/workflows/container_tests_apptainer.yml +++ b/.github/workflows/container_tests_apptainer.yml @@ -18,10 +18,10 @@ jobs: apptainer: [1.0.0, 1.1.7, 1.3.6] fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/eb_command.yml b/.github/workflows/eb_command.yml index fc62d64a25..a2ef7c6c1d 100644 --- a/.github/workflows/eb_command.yml +++ b/.github/workflows/eb_command.yml @@ -20,10 +20,10 @@ jobs: fail-fast: false runs-on: ${{matrix.os || 'ubuntu-24.04'}} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{matrix.python}} architecture: x64 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index e15d78f59a..d5a7163f70 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -19,10 +19,10 @@ jobs: fail-fast: false runs-on: ${{matrix.os || 'ubuntu-24.04'}} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 46c65821af..45f32bd866 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -48,10 +48,10 @@ jobs: modules_tool: ${{needs.setup.outputs.lmod8}} fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - name: set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0 with: python-version: ${{matrix.python}} architecture: x64