@@ -11,61 +11,55 @@ concurrency:
1111
1212jobs :
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
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
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)
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