Skip to content

Commit 54922c9

Browse files
authored
Merge pull request #4783 from boegel/github-actions-ubuntu-22.04
stop using Ubuntu 20.4 in GitHub Actions workflows, use Ubuntu 22.04 instead + use separate GitHub Actions workflow for testing with Python 3.6
2 parents 4702af0 + ccd481a commit 54922c9

File tree

6 files changed

+41
-68
lines changed

6 files changed

+41
-68
lines changed

.github/workflows/container_tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ jobs:
1717
python: [3.7]
1818
fail-fast: false
1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
2121

2222
- name: set up Python
23-
uses: actions/setup-python@v4
23+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2424
with:
2525
python-version: ${{matrix.python}}
2626
architecture: x64
2727

2828
- name: install OS & Python packages
2929
run: |
3030
# for modules tool
31-
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
31+
APT_PKGS="lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
3232
# for building Singularity images
3333
APT_PKGS+=" rpm dnf"
3434

.github/workflows/container_tests_apptainer.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ jobs:
1515
strategy:
1616
matrix:
1717
python: [3.7]
18-
apptainer: [1.0.0, 1.1.7]
18+
apptainer: [1.0.0, 1.1.7, 1.3.6]
1919
fail-fast: false
2020
steps:
21-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
2222

2323
- name: set up Python
24-
uses: actions/setup-python@v3
24+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2525
with:
2626
python-version: ${{matrix.python}}
2727
architecture: x64
@@ -31,7 +31,7 @@ jobs:
3131
# for building CentOS 7 container images
3232
APT_PKGS="rpm dnf"
3333
# for modules tool
34-
APT_PKGS+=" lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
34+
APT_PKGS+=" lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
3535
3636
# Avoid apt-get update, as we don't really need it,
3737
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
@@ -41,12 +41,6 @@ jobs:
4141
sudo apt-get install $APT_PKGS
4242
fi
4343
44-
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
45-
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
46-
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
47-
sudo ln -s /usr/lib/x86_64-linux-gnu/lua/5.2/posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so
48-
fi
49-
5044
- name: install Lmod
5145
run: |
5246
# avoid downloading modules tool sources into easybuild-framework dir

.github/workflows/eb_command.yml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ concurrency:
1111

1212
jobs:
1313
test-eb:
14-
runs-on: ubuntu-20.04
14+
runs-on: ubuntu-22.04
1515
strategy:
1616
matrix:
17-
python: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
17+
python: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
1818
fail-fast: false
1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
2121

2222
- name: set up Python
23-
uses: actions/setup-python@v4
23+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2424
with:
2525
python-version: ${{matrix.python}}
2626
architecture: x64
@@ -38,7 +38,7 @@ jobs:
3838
fi
3939
4040
# for modules tool
41-
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
41+
APT_PKGS="lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
4242
4343
# Avoid apt-get update, as we don't really need it,
4444
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
@@ -48,12 +48,6 @@ jobs:
4848
sudo apt-get install $APT_PKGS
4949
fi
5050
51-
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
52-
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
53-
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
54-
sudo ln -s /usr/lib/x86_64-linux-gnu/lua/5.2/posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so
55-
fi
56-
5751
- name: install modules tool
5852
run: |
5953
# avoid downloading modules tool sources into easybuild-framework dir

.github/workflows/end2end.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,19 @@ jobs:
88
matrix:
99
container:
1010
- centos-8.5
11-
- fedora-36
11+
- fedora-41
1212
- opensuse-15.4
13-
- rockylinux-8.8
14-
- rockylinux-9.2
13+
- rockylinux-8.10
14+
- rockylinux-9.5
1515
- ubuntu-20.04
1616
- ubuntu-22.04
17+
- ubuntu-24.04
1718
fail-fast: false
1819
container:
1920
image: ghcr.io/easybuilders/${{ matrix.container }}-amd64
20-
volumes:
21-
- /node20217:/node20217:rw,rshared
22-
- ${{ matrix.container == 'centos-7.9' && '/node20217:/__e/node20:ro,rshared' || ' ' }}
2321
steps:
24-
- name: install nodejs20glibc2.17
25-
if: ${{ matrix.container == 'centos-7.9' }}
26-
run: |
27-
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
28-
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
2922
- name: Check out the repo
30-
uses: actions/checkout@v4
23+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
3124

3225
- name: download and unpack easyblocks and easyconfigs repositories
3326
run: |
@@ -66,4 +59,8 @@ jobs:
6659
- name: End-to-end test of installing bzip2 with EasyBuild
6760
shell: bash
6861
run: |
69-
sudo -u easybuild bash -l -c "source /tmp/eb_env; eb bzip2-1.0.8.eb --trace --robot"
62+
EB_ARGS=''
63+
if [[ "${{ matrix.container }}" == "fedora-41" ]] || [[ "${{ matrix.container }}" == "ubuntu-24.04" ]]; then
64+
EB_ARGS='--filter-deps=binutils'
65+
fi
66+
sudo -u easybuild bash -l -c "source /tmp/eb_env; eb bzip2-1.0.8.eb --trace --robot ${EB_ARGS}"

.github/workflows/linting.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ concurrency:
1010

1111
jobs:
1212
python-linting:
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-22.04
1414
strategy:
1515
matrix:
16-
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
16+
python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
1717
steps:
18-
- uses: actions/checkout@v3
18+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1919

2020
- name: set up Python
21-
uses: actions/setup-python@v4
21+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2222
with:
2323
python-version: ${{ matrix.python-version }}
2424

.github/workflows/unit_tests.yml

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ concurrency:
1111

1212
jobs:
1313
setup:
14-
runs-on: ubuntu-20.04
14+
runs-on: ubuntu-22.04
1515
outputs:
16-
lmod8: Lmod-8.7.6
16+
lmod8: Lmod-8.7.58
1717
modules4: modules-4.5.3
1818
modules5: modules-5.3.1
1919
steps:
@@ -23,7 +23,8 @@ jobs:
2323
runs-on: ubuntu-20.04
2424
strategy:
2525
matrix:
26-
python: [3.6]
26+
# Python 3.10 is default in Ubuntu 22.04
27+
python: ['3.10']
2728
modules_tool:
2829
# use variables defined by 'setup' job above, see also
2930
# https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#needs-context
@@ -33,39 +34,32 @@ jobs:
3334
lc_all: [""]
3435
include:
3536
# Test different Python 3 versions with Lmod 8.x (with both Lua and Tcl module syntax)
36-
- python: 3.7
37-
modules_tool: ${{needs.setup.outputs.lmod8}}
38-
- python: 3.8
37+
- python: '3.7'
3938
modules_tool: ${{needs.setup.outputs.lmod8}}
40-
- python: 3.9
39+
- python: '3.8'
4140
modules_tool: ${{needs.setup.outputs.lmod8}}
42-
- python: '3.10'
41+
- python: '3.9'
4342
modules_tool: ${{needs.setup.outputs.lmod8}}
4443
- python: '3.11'
4544
modules_tool: ${{needs.setup.outputs.lmod8}}
4645
- python: '3.12'
4746
modules_tool: ${{needs.setup.outputs.lmod8}}
4847
- python: '3.13'
4948
modules_tool: ${{needs.setup.outputs.lmod8}}
50-
# There may be encoding errors in Python 3 which are hidden when an UTF-8 encoding is set
51-
# Hence run the tests (again) with LC_ALL=C and Python 3.6 (or any < 3.7)
52-
- python: 3.6
53-
modules_tool: ${{needs.setup.outputs.lmod8}}
54-
lc_all: C
5549
fail-fast: false
5650
steps:
57-
- uses: actions/checkout@v3
51+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
5852

5953
- name: set up Python
60-
uses: actions/setup-python@v4
54+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
6155
with:
6256
python-version: ${{matrix.python}}
6357
architecture: x64
6458

6559
- name: install OS & Python packages
6660
run: |
6761
# for modules tool
68-
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
62+
APT_PKGS="lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
6963
# for GitPython, python-hglib
7064
APT_PKGS+=" git mercurial"
7165
# dep for GC3Pie
@@ -79,11 +73,6 @@ jobs:
7973
sudo apt-get install $APT_PKGS
8074
fi
8175
82-
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
83-
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
84-
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
85-
sudo ln -s /usr/lib/x86_64-linux-gnu/lua/5.2/posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so
86-
fi
8776
# Python packages
8877
pip --version
8978
pip install --upgrade pip
@@ -94,8 +83,8 @@ jobs:
9483
pip install --upgrade setuptools
9584
fi
9685
# git config is required to make actual git commits (cfr. tests for GitRepository)
97-
git config --global user.name "Travis CI"
98-
git config --global user.email "[email protected]"
86+
git config --global user.name "Github Actions"
87+
git config --global user.email "[email protected]"
9988
git config --get-regexp 'user.*'
10089
10190
- name: install GitHub token (if available)
@@ -105,9 +94,9 @@ jobs:
10594
# and are only run after the PR gets merged
10695
GITHUB_TOKEN: ${{secrets.CI_UNIT_TESTS_GITHUB_TOKEN}}
10796
run: |
108-
# only install GitHub token when testing with Lmod 8.x + Python 3.6 or 3.9, to avoid hitting GitHub rate limit
97+
# only install GitHub token when testing with Lmod 8.x + Python 3.9, to avoid hitting GitHub rate limit
10998
# tests that require a GitHub token are skipped automatically when no GitHub token is available
110-
if [[ "${{matrix.modules_tool}}" =~ 'Lmod-8' ]] && [[ "${{matrix.python}}" =~ 3.[69] ]]; then
99+
if [[ "${{matrix.modules_tool}}" =~ 'Lmod-8' ]] && [[ "${{matrix.python}}" =~ 3.9 ]]; then
111100
if [ ! -z $GITHUB_TOKEN ]; then
112101
SET_KEYRING="import keyrings.alt.file; keyring.set_keyring(keyrings.alt.file.PlaintextKeyring())"
113102
python -c "import keyring; $SET_KEYRING; keyring.set_password('github_token', 'easybuild_test', '$GITHUB_TOKEN')"
@@ -197,9 +186,8 @@ jobs:
197186
IGNORE_PATTERNS+="|skipping SvnRepository test"
198187
IGNORE_PATTERNS+="|requires Lmod as modules tool"
199188
IGNORE_PATTERNS+="|stty: 'standard input': Inappropriate ioctl for device"
200-
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: Python 3.[567]"
189+
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: Python 3.7"
201190
IGNORE_PATTERNS+="|from cryptography.* import "
202-
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: Python 2"
203191
IGNORE_PATTERNS+="|Blowfish"
204192
IGNORE_PATTERNS+="|GC3Pie not available, skipping test"
205193
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: TripleDES has been moved"

0 commit comments

Comments
 (0)