Skip to content

Commit f4a9479

Browse files
authored
Merge pull request #3588 from easybuilders/4.3.x
release EasyBuild v4.3.3
2 parents 0454617 + f61dc6a commit f4a9479

File tree

284 files changed

+2085
-637
lines changed

Some content is hidden

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

284 files changed

+2085
-637
lines changed

.github/workflows/unit_tests.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ jobs:
99
python: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9]
1010
modules_tool: [Lmod-7.8.22, Lmod-8.2.9, modules-tcl-1.147, modules-3.2.10, modules-4.1.4]
1111
module_syntax: [Lua, Tcl]
12+
lc_all: [""]
1213
# exclude some configuration for non-Lmod modules tool:
1314
# - don't test with Lua module syntax (only supported in Lmod)
1415
# - exclude Python 3.x versions other than 3.6, to limit test configurations
@@ -51,6 +52,13 @@ jobs:
5152
python: 3.8
5253
- modules_tool: Lmod-7.8.22
5354
python: 3.9
55+
# There may be encoding errors in Python 3 which are hidden when an UTF-8 encoding is set
56+
# Hence run the tests (again) with LC_ALL=C and Python 3.6 (or any < 3.7)
57+
include:
58+
- python: 3.6
59+
modules_tool: Lmod-8.2.9
60+
module_syntax: Lua
61+
lc_all: C
5462
fail-fast: false
5563
steps:
5664
- uses: actions/checkout@v2
@@ -69,7 +77,10 @@ jobs:
6977
# for modules tool
7078
sudo apt-get install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
7179
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
72-
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
80+
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
81+
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
82+
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
83+
fi
7384
# for GitPython, python-hglib
7485
sudo apt-get install git mercurial
7586
# dep for GC3Pie
@@ -89,12 +100,20 @@ jobs:
89100
# see https://github.com/<username>/easybuild-framework/settings/secrets
90101
GITHUB_TOKEN: ${{secrets.TEST_GITHUB_TOKEN}}
91102
run: |
92-
if [ ! -z $GITHUB_TOKEN ]; then
93-
if [ "x${{matrix.python}}" == 'x2.6' ];
103+
# don't install GitHub token when testing with Lmod 7.x or non-Lmod module tools,
104+
# to avoid hitting GitHub rate limit;
105+
# tests that require a GitHub token are skipped automatically when no GitHub token is available
106+
if [[ ! "${{matrix.modules_tool}}" =~ 'Lmod-7' ]] && [[ ! "${{matrix.modules_tool}}" =~ 'modules-' ]]; then
107+
if [ ! -z $GITHUB_TOKEN ]; then
108+
if [ "x${{matrix.python}}" == 'x2.6' ];
94109
then SET_KEYRING="keyring.set_keyring(keyring.backends.file.PlaintextKeyring())";
95110
else SET_KEYRING="import keyrings; keyring.set_keyring(keyrings.alt.file.PlaintextKeyring())";
96-
fi;
97-
python -c "import keyring; $SET_KEYRING; keyring.set_password('github_token', 'easybuild_test', '$GITHUB_TOKEN')";
111+
fi;
112+
python -c "import keyring; $SET_KEYRING; keyring.set_password('github_token', 'easybuild_test', '$GITHUB_TOKEN')";
113+
fi
114+
echo "GitHub token installed!"
115+
else
116+
echo "Installation of GitHub token skipped!"
98117
fi
99118
100119
- name: install modules tool
@@ -129,6 +148,7 @@ jobs:
129148
EB_VERBOSE: 1
130149
EASYBUILD_MODULE_SYNTAX: ${{matrix.module_syntax}}
131150
TEST_EASYBUILD_MODULE_SYNTAX: ${{matrix.module_syntax}}
151+
LC_ALL: ${{matrix.lc_all}}
132152
run: |
133153
# run tests *outside* of checked out easybuild-framework directory,
134154
# to ensure we're testing installed version (see previous step)
@@ -189,7 +209,7 @@ jobs:
189209
EB_BOOTSTRAP_VERSION=$(grep '^EB_BOOTSTRAP_VERSION' easybuild/scripts/bootstrap_eb.py | sed 's/[^0-9.]//g')
190210
EB_BOOTSTRAP_SHA256SUM=$(sha256sum easybuild/scripts/bootstrap_eb.py | cut -f1 -d' ')
191211
EB_BOOTSTRAP_FOUND="$EB_BOOTSTRAP_VERSION $EB_BOOTSTRAP_SHA256SUM"
192-
EB_BOOTSTRAP_EXPECTED="20200820.01 d490d229a18bd5eaa717bb8d5684d754729143d5e995e35a40c84d03ffb1de50"
212+
EB_BOOTSTRAP_EXPECTED="20210106.01 c2d93de0dd91123eb4f51cfc16d1f5efb80f1d238b3d6cd100994086887a1ae0"
193213
test "$EB_BOOTSTRAP_FOUND" = "$EB_BOOTSTRAP_EXPECTED" || (echo "Version check on bootstrap script failed $EB_BOOTSTRAP_FOUND" && exit 1)
194214
195215
# test bootstrap script

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ script:
8989
- EB_BOOTSTRAP_VERSION=$(grep '^EB_BOOTSTRAP_VERSION' $TRAVIS_BUILD_DIR/easybuild/scripts/bootstrap_eb.py | sed 's/[^0-9.]//g')
9090
- EB_BOOTSTRAP_SHA256SUM=$(sha256sum $TRAVIS_BUILD_DIR/easybuild/scripts/bootstrap_eb.py | cut -f1 -d' ')
9191
- EB_BOOTSTRAP_FOUND="$EB_BOOTSTRAP_VERSION $EB_BOOTSTRAP_SHA256SUM"
92-
- EB_BOOTSTRAP_EXPECTED="20200820.01 d490d229a18bd5eaa717bb8d5684d754729143d5e995e35a40c84d03ffb1de50"
92+
- EB_BOOTSTRAP_EXPECTED="20210106.01 c2d93de0dd91123eb4f51cfc16d1f5efb80f1d238b3d6cd100994086887a1ae0"
9393
- test "$EB_BOOTSTRAP_FOUND" = "$EB_BOOTSTRAP_EXPECTED" || (echo "Version check on bootstrap script failed $EB_BOOTSTRAP_FOUND" && exit 1)
9494
# test bootstrap script
9595
- python $TRAVIS_BUILD_DIR/easybuild/scripts/bootstrap_eb.py /tmp/$TRAVIS_JOB_ID/eb_bootstrap

RELEASE_NOTES

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,39 @@ For more detailed information, please see the git log.
33

44
These release notes can also be consulted at https://easybuild.readthedocs.io/en/latest/Release_notes.html.
55

6+
7+
v4.3.3 (February 23rd 2021)
8+
---------------------------
9+
10+
update/bugfix release
11+
12+
- various enhancements, including:
13+
- advise PR labels in --review-pr and add support for --add-pr-labels (#3177)
14+
- add support for using customized HTTP headers in download_file (#3472, #3583)
15+
- also take toolchain dependencies into account when defining template values (#3541, #3560)
16+
- add support for --accept-eula configuration option + 'accept_eula' easyconfig parameter (#3535, #3536, #3546)
17+
- detect 'SYSTEM' toolchain as special case in easystack files (#3543)
18+
- enhance extract_cmd function to use 'cp -a' for shell scripts (.sh) (#3545)
19+
- allow use of alternate envvar(s) to $HOME for user modules (#3558)
20+
- use https://sources/easybuild.io as fallback source URL (#3572, #3576)
21+
- add toolchain definition for iibff toolchain (#3574)
22+
- add %(cuda_cc_space_sep)s and %(cuda_cc_semicolon_sep)s templates (#3578)
23+
- add support for intel-compiler toolchain (>= 2021.x versions, oneAPI) (#3581, #3582)
24+
- various bug fixes, including:
25+
- add --init and --recursive options to 'git submodule update' command that is used when creating source tarball for specific commit (#3537)
26+
- filter out duplicate paths in RPATH wrapper script (#3538)
27+
- don't clean up imported modules after verifying imports of included Python modules (#3544)
28+
- avoid no-op changes to $LD_* environment variables in ModulesTool (#3553)
29+
- fix UTF-8 encoding errors when running EasyBuild with Python 3.0.x-3.6.x (#3565)
30+
- create lib64 symlink as a relative symlink (#3566)
31+
- don't reuse variable name in the loop to fix adding extra compiler flags via toolchainopts (#3571)
32+
- symlink 'lib' to 'lib64' if it doesn't exist (#3580)
33+
- include %(mpi_cmd_prefix)s and %(cuda_*)s templates in output of --avail-easyconfig-templates (#3586)
34+
- other changes:
35+
- rename EasyBlock._skip_step to EasyBlock.skip_step, to make it part of the public API (#3561)
36+
- make symlinking of posix_c.so to posix.so in test suite configuration conditional (#3570)
37+
38+
639
v4.3.2 (December 10th 2020)
740
---------------------------
841

easybuild/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2011-2020 Ghent University
2+
# Copyright 2011-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/base/exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright 2015-2020 Ghent University
2+
# Copyright 2015-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/base/fancylogger.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright 2011-2020 Ghent University
2+
# Copyright 2011-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -580,6 +580,8 @@ def logToFile(filename, enable=True, filehandler=None, name=None, max_bytes=MAX_
580580
'maxBytes': max_bytes,
581581
'backupCount': backup_count,
582582
}
583+
if sys.version_info[0] >= 3:
584+
handleropts['encoding'] = 'utf-8'
583585
# logging to a file is going to create the file later on, so let's try to be helpful and create the path if needed
584586
directory = os.path.dirname(filename)
585587
if not os.path.exists(directory):

easybuild/base/generaloption.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright 2011-2020 Ghent University
2+
# Copyright 2011-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/base/optcomplete.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -594,9 +594,8 @@ def autocomplete(parser, arg_completer=None, opt_completer=None, subcmd_complete
594594
if isinstance(debugfn, logging.Logger):
595595
debugfn.debug(txt)
596596
else:
597-
f = open(debugfn, 'a')
598-
f.write(txt)
599-
f.close()
597+
with open(debugfn, 'a') as fh:
598+
fh.write(txt)
600599

601600
# Exit with error code (we do not let the caller continue on purpose, this
602601
# is a run for completions only.)

easybuild/base/testing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright 2014-2020 Ghent University
2+
# Copyright 2014-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/framework/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2020 Ghent University
2+
# Copyright 2009-2021 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

0 commit comments

Comments
 (0)