Skip to content

Commit 105f51e

Browse files
committed
Merge branch 'develop' into fix-type-check-after-convert
2 parents afcd416 + c1b05d9 commit 105f51e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1782
-568
lines changed

.github/workflows/container_tests.yml

Lines changed: 5 additions & 5 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
@@ -74,7 +74,7 @@ jobs:
7474
ls dist
7575
export PREFIX=/tmp/$USER/$GITHUB_SHA
7676
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
77-
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz
77+
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/develop.tar.gz
7878
7979
- name: run test
8080
run: |
@@ -95,7 +95,7 @@ jobs:
9595
echo '%_dbpath %{_var}/lib/rpm' >> $HOME/.rpmmacros
9696
# build CentOS 7 container image for bzip2 1.0.8 using EasyBuild;
9797
# see https://docs.easybuild.io/en/latest/Containers.html
98-
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/5.0.x/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
98+
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/develop/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
9999
export EASYBUILD_CONTAINERPATH=$PWD
100100
export EASYBUILD_CONTAINER_CONFIG='bootstrap=docker,from=ghcr.io/easybuilders/centos-7.9-python3-amd64'
101101
eb bzip2-1.0.8.eb --containerize --experimental --container-build-image

.github/workflows/container_tests_apptainer.yml

Lines changed: 6 additions & 12 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
@@ -74,7 +68,7 @@ jobs:
7468
ls dist
7569
export PREFIX=/tmp/$USER/$GITHUB_SHA
7670
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
77-
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz
71+
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/develop.tar.gz
7872
7973
- name: run test
8074
run: |
@@ -95,7 +89,7 @@ jobs:
9589
echo '%_dbpath %{_var}/lib/rpm' >> $HOME/.rpmmacros
9690
# build CentOS 7 container image for bzip2 1.0.8 using EasyBuild;
9791
# see https://docs.easybuild.io/en/latest/Containers.html
98-
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/5.0.x/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
92+
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/develop/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
9993
export EASYBUILD_CONTAINERPATH=$PWD
10094
export EASYBUILD_CONTAINER_CONFIG='bootstrap=docker,from=ghcr.io/easybuilders/centos-7.9-python3-amd64'
10195
export EASYBUILD_CONTAINER_TYPE='apptainer'

.github/workflows/eb_command.yml

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

1212
jobs:
1313
test-eb:
14-
runs-on: ubuntu-20.04
1514
strategy:
1615
matrix:
17-
python: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
16+
python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
17+
include:
18+
- python: 3.7
19+
os: ubuntu-22.04
1820
fail-fast: false
21+
runs-on: ${{matrix.os || 'ubuntu-24.04'}}
1922
steps:
20-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
2124

2225
- name: set up Python
23-
uses: actions/setup-python@v4
26+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2427
with:
2528
python-version: ${{matrix.python}}
2629
architecture: x64
@@ -38,7 +41,7 @@ jobs:
3841
fi
3942
4043
# for modules tool
41-
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
44+
APT_PKGS="lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
4245
4346
# Avoid apt-get update, as we don't really need it,
4447
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
@@ -48,12 +51,6 @@ jobs:
4851
sudo apt-get install $APT_PKGS
4952
fi
5053
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-
5754
- name: install modules tool
5855
run: |
5956
# avoid downloading modules tool sources into easybuild-framework dir

.github/workflows/end2end.yml

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,35 @@ 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: |
3427
cd $HOME
3528
for pkg in easyblocks easyconfigs; do
36-
curl -OL https://github.com/easybuilders/easybuild-${pkg}/archive/5.0.x.tar.gz
37-
tar xfz 5.0.x.tar.gz
38-
rm -f 5.0.x.tar.gz
29+
curl -OL https://github.com/easybuilders/easybuild-${pkg}/archive/develop.tar.gz
30+
tar xfz develop.tar.gz
31+
rm -f develop.tar.gz
3932
done
4033
4134
- name: Set up environment
4235
shell: bash
4336
run: |
4437
# collect environment variables to be set in subsequent steps in script that can be sourced
4538
echo "export PATH=$PWD:$PATH" > /tmp/eb_env
46-
echo "export PYTHONPATH=$PWD:$HOME/easybuild-easyblocks-5.0.x:$HOME/easybuild-easyconfigs-5.0.x" >> /tmp/eb_env
39+
echo "export PYTHONPATH=$PWD:$HOME/easybuild-easyblocks-develop:$HOME/easybuild-easyconfigs-develop" >> /tmp/eb_env
4740
4841
- name: Run commands to check test environment
4942
shell: bash
@@ -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: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@ concurrency:
1010

1111
jobs:
1212
python-linting:
13-
runs-on: ubuntu-20.04
1413
strategy:
1514
matrix:
16-
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
15+
python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
16+
include:
17+
- python: 3.7
18+
os: ubuntu-22.04
19+
fail-fast: false
20+
runs-on: ${{matrix.os || 'ubuntu-24.04'}}
1721
steps:
18-
- uses: actions/checkout@v3
22+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1923

2024
- name: set up Python
21-
uses: actions/setup-python@v4
25+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2226
with:
2327
python-version: ${{ matrix.python-version }}
2428

.github/workflows/unit_tests.yml

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,61 +11,55 @@ concurrency:
1111

1212
jobs:
1313
setup:
14-
runs-on: ubuntu-20.04
14+
runs-on: ubuntu-latest
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:
2020
- run: "true"
2121
build:
2222
needs: setup
23-
runs-on: ubuntu-20.04
23+
runs-on: ${{matrix.os || 'ubuntu-24.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
3031
- ${{needs.setup.outputs.lmod8}}
3132
- ${{needs.setup.outputs.modules4}}
3233
- ${{needs.setup.outputs.modules5}}
33-
lc_all: [""]
3434
include:
3535
# Test different Python 3 versions with Lmod 8.x (with both Lua and Tcl module syntax)
36-
- python: 3.7
36+
- python: '3.7'
3737
modules_tool: ${{needs.setup.outputs.lmod8}}
38-
- python: 3.8
38+
os: ubuntu-22.04
39+
- python: '3.8'
3940
modules_tool: ${{needs.setup.outputs.lmod8}}
40-
- python: 3.9
41-
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')"
@@ -147,7 +136,7 @@ jobs:
147136
- name: run test suite
148137
env:
149138
EB_VERBOSE: 1
150-
LC_ALL: ${{matrix.lc_all}}
139+
LC_ALL: ""
151140
run: |
152141
# run tests *outside* of checked out easybuild-framework directory,
153142
# to ensure we're testing installed version (see previous step)
@@ -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)