Skip to content

Commit ebba4d8

Browse files
committed
Merge branch '5.0.x' into feature-run_shell_cmd_timeout
2 parents a6a6430 + 3f5edf5 commit ebba4d8

Some content is hidden

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

82 files changed

+4696
-2198
lines changed

.github/workflows/container_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
python setup.py sdist
7474
ls dist
7575
export PREFIX=/tmp/$USER/$GITHUB_SHA
76-
pip install --prefix $PREFIX dist/easybuild-framework*tar.gz
76+
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
7777
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz
7878
7979
- name: run test

.github/workflows/container_tests_apptainer.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
python setup.py sdist
7474
ls dist
7575
export PREFIX=/tmp/$USER/$GITHUB_SHA
76-
pip install --prefix $PREFIX dist/easybuild-framework*tar.gz
76+
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
7777
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz
7878
7979
- name: run test

.github/workflows/eb_command.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
python setup.py sdist
7373
ls dist
7474
export PREFIX=/tmp/$USER/$GITHUB_SHA
75-
pip install --prefix $PREFIX dist/easybuild-framework*tar.gz
75+
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
7676
7777
- name: run tests for 'eb' command
7878
env:

.github/workflows/end2end.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717
fail-fast: false
1818
container:
1919
image: ghcr.io/easybuilders/${{ matrix.container }}-amd64
20+
env: {ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true} # Allow using Node16 actions
2021
steps:
2122
- name: Check out the repo
2223
uses: actions/checkout@v3

.github/workflows/linting.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ jobs:
1414
strategy:
1515
matrix:
1616
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12']
17-
1817
steps:
1918
- uses: actions/checkout@v3
2019

.github/workflows/unit_tests.yml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414
runs-on: ubuntu-20.04
1515
outputs:
1616
lmod8: Lmod-8.7.6
17-
modules4: modules-4.1.4
17+
modules4: modules-4.5.3
18+
modules5: modules-5.3.1
1819
steps:
1920
- run: "true"
2021
build:
@@ -28,6 +29,7 @@ jobs:
2829
# https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#needs-context
2930
- ${{needs.setup.outputs.lmod8}}
3031
- ${{needs.setup.outputs.modules4}}
32+
- ${{needs.setup.outputs.modules5}}
3133
lc_all: [""]
3234
include:
3335
# Test different Python 3 versions with Lmod 8.x (with both Lua and Tcl module syntax)
@@ -101,12 +103,12 @@ jobs:
101103
# and are only run after the PR gets merged
102104
GITHUB_TOKEN: ${{secrets.CI_UNIT_TESTS_GITHUB_TOKEN}}
103105
run: |
104-
# only install GitHub token when testing with Lmod 8.x + Python 3.6 or 3.9, to avoid hitting GitHub rate limit;
106+
# only install GitHub token when testing with Lmod 8.x + Python 3.6 or 3.9, to avoid hitting GitHub rate limit
105107
# tests that require a GitHub token are skipped automatically when no GitHub token is available
106108
if [[ "${{matrix.modules_tool}}" =~ 'Lmod-8' ]] && [[ "${{matrix.python}}" =~ 3.[69] ]]; then
107109
if [ ! -z $GITHUB_TOKEN ]; then
108-
SET_KEYRING="import keyrings.alt.file; keyring.set_keyring(keyrings.alt.file.PlaintextKeyring())";
109-
python -c "import keyring; $SET_KEYRING; keyring.set_password('github_token', 'easybuild_test', '$GITHUB_TOKEN')";
110+
SET_KEYRING="import keyrings.alt.file; keyring.set_keyring(keyrings.alt.file.PlaintextKeyring())"
111+
python -c "import keyring; $SET_KEYRING; keyring.set_password('github_token', 'easybuild_test', '$GITHUB_TOKEN')"
110112
fi
111113
echo "GitHub token installed!"
112114
else
@@ -138,7 +140,7 @@ jobs:
138140
python setup.py sdist
139141
ls dist
140142
export PREFIX=/tmp/$USER/$GITHUB_SHA
141-
pip install --prefix $PREFIX dist/easybuild-framework*tar.gz
143+
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
142144
143145
- name: run test suite
144146
env:
@@ -150,15 +152,17 @@ jobs:
150152
cd $HOME
151153
# initialize environment for modules tool
152154
if [ -f $HOME/moduleshome ]; then export MODULESHOME=$(cat $HOME/moduleshome); fi
153-
source $(cat $HOME/mod_init); type module
155+
source $(cat $HOME/mod_init)
156+
type module
157+
module --version
154158
# make sure 'eb' is available via $PATH, and that $PYTHONPATH is set (some tests expect that);
155159
# also pick up changes to $PATH set by sourcing $MOD_INIT
156160
export PREFIX=/tmp/$USER/$GITHUB_SHA
157161
export PATH=$PREFIX/bin:$(cat $HOME/path)
158162
export PYTHONPATH=$PREFIX/lib/python${{matrix.python}}/site-packages:$PYTHONPATH
159163
eb --version
160164
# tell EasyBuild which modules tool is available
161-
if [[ ${{matrix.modules_tool}} =~ ^modules-4 ]]; then
165+
if [[ ${{matrix.modules_tool}} =~ ^modules- ]]; then
162166
export EASYBUILD_MODULES_TOOL=EnvironmentModules
163167
else
164168
export EASYBUILD_MODULES_TOOL=Lmod
@@ -187,7 +191,17 @@ jobs:
187191
# run test suite
188192
python -O -m test.framework.suite 2>&1 | tee test_framework_suite.log
189193
# try and make sure output of running tests is clean (no printed messages/warnings)
190-
IGNORE_PATTERNS="no GitHub token available|skipping SvnRepository test|requires Lmod as modules tool|stty: 'standard input': Inappropriate ioctl for device|CryptographyDeprecationWarning: Python 3.[56]|from cryptography.* import |CryptographyDeprecationWarning: Python 2|Blowfish|GC3Pie not available, skipping test"
194+
IGNORE_PATTERNS="no GitHub token available"
195+
IGNORE_PATTERNS+="|skipping SvnRepository test"
196+
IGNORE_PATTERNS+="|requires Lmod as modules tool"
197+
IGNORE_PATTERNS+="|stty: 'standard input': Inappropriate ioctl for device"
198+
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: Python 3.[56]"
199+
IGNORE_PATTERNS+="|from cryptography.* import "
200+
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: Python 2"
201+
IGNORE_PATTERNS+="|Blowfish"
202+
IGNORE_PATTERNS+="|GC3Pie not available, skipping test"
203+
IGNORE_PATTERNS+="|CryptographyDeprecationWarning: TripleDES has been moved"
204+
IGNORE_PATTERNS+="|algorithms.TripleDES"
191205
# '|| true' is needed to avoid that GitHub Actions stops the job on non-zero exit of grep (i.e. when there are no matches)
192206
PRINTED_MSG=$(egrep -v "${IGNORE_PATTERNS}" test_framework_suite.log | grep '\.\n*[A-Za-z]' || true)
193207
test "x$PRINTED_MSG" = "x" || (echo "ERROR: Found printed messages in output of test suite" && echo "${PRINTED_MSG}" && exit 1)

RELEASE_NOTES

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,77 @@ For more detailed information, please see the git log.
44
These release notes can also be consulted at https://easybuild.readthedocs.io/en/latest/Release_notes.html.
55

66

7+
v4.9.4 (22 September 2024)
8+
--------------------------
9+
10+
update/bugfix release
11+
12+
- various enhancements, including:
13+
- set $LMOD_TERSE_DECORATIONS to 'no' to avoid additional info in output produced by 'ml --terse avail' (#4648)
14+
- various bug fixes, including:
15+
- implement workaround for permission error when copying read-only files that have extended attributes set and using Python 3.6 (#4642)
16+
- take into account alternate sysroot for /bin/bash used by run_cmd (#4646)
17+
18+
19+
v4.9.3 (14 September 2024)
20+
--------------------------
21+
22+
update/bugfix release
23+
24+
- various enhancements, including:
25+
- add support for `--extra-source-urls` to fetch sources from additional URLs (#4079)
26+
- add definition for gmpflf toolchain (#4566, #4571)
27+
- reuse pre-computed checksums (#4569)
28+
- add `cuda_cc_space_sep` variant that does not have periods (#4583)
29+
- add `--skip-sanity-check` option (#4590)
30+
- add `GNU_FTP_SOURCE` template constant (#4597)
31+
- improve error messages for empty easyconfigs (#4603)
32+
- improve help string for `--dep-graph` (#4610)
33+
- only call `_sanity_check_step_extensions` if `--skip-extensions` is not set (#4620)
34+
- add support for `--software-commit` and an associated template `%(software_commit)s` (#4628)
35+
- various bug fixes, including:
36+
- correctly evaluate result for `--dep-graph` (#4554)
37+
- fix fetch progress bar showing to many files (#4568)
38+
- resolve internal for imkl>=2021 version subdir via "latest" symlink (#4570)
39+
- fix typo in message about including an easyblock from a commit (#4575)
40+
- don't use special flags for `strict`, `precise`, `loose`, `veryloose` toolchain options on RISC-V (#4576)
41+
- fix help text for `cuda_compute_capabilities` template (#4589)
42+
- fix help message for `--http-headers-fields-urlpat` configuration option (#4594)
43+
- fix `test_compiler_cache` in case `gcc` is available multiple times (#4599)
44+
- handle post-install patches in check_checksums_for (#4605)
45+
- fix `copy_file` with a folder as the target (#4609)
46+
- allow for case where `homepage = None` when generating the docs (#4626)
47+
- fix test_github_det_commit_status by using more recent commits (#4636)
48+
- other changes:
49+
- clean up code that was only there to support Python 2.6 + avoid syntax warnings when parsing py2vs3/py.p2 with Python 3.x (#3788)
50+
- use Intel's oneAPI Fortran compiler by default for version 2024.0.0 and newer (`oneapi_fortran` toolchain option set to `True`) (#4567)
51+
- allow using Node 16 actions in CI (#4574)
52+
- remove a superflous check in `EasyBlock.run_all_steps` (#4623)
53+
- remove trailing dots from backup message produced by --inject-checksums (#4632)
54+
55+
56+
v4.9.2 (12 June 2024)
57+
---------------------
58+
59+
update/bugfix release
60+
61+
- various enhancements, including:
62+
- improve behavior when using extension which has 'nosource' enabled (#4506)
63+
- enhance 'get_software_libdir' to return 'lib' or 'lib64' if only one of them contains library files (#4513)
64+
- implement versions checks to avoid mixing major versions across the EasyBuild components (#4520, #4553)
65+
- add support for easyconfig parameter 'module_only' (#4537)
66+
- various bug fixes, including:
67+
- fix typo in patch_step logging (#4505)
68+
- consider both 'easybuild-framework*.tar.gz' and 'easybuild_framework*.tar.gz' in CI workflows (#4507)
69+
- don't delete existing environment module files when using '--dump-env-script' with '--force' or '--rebuild' (#4512)
70+
- fix resolved (template) values in case of failure (#4532)
71+
- also consider '$CRAY_PE_LIBSCI_PREFIX_DIR' to determine installation prefix for cray-libsci (#4551)
72+
- symlink downloaded repo at specified commit when using '--from-commit' so easyconfigs for dependencies are found (#4552)
73+
- other changes:
74+
- code cleanup in 'easyblock.py' (#4519)
75+
- stop running unit tests on Python 3.5 (#4530)
76+
77+
778
v4.9.1 (5 April 2024)
879
---------------------
980

0 commit comments

Comments
 (0)