Skip to content

Commit 0743fc6

Browse files
committed
Merge branch 'develop' into py10_setup_py
2 parents 79de23a + 59d1ff4 commit 0743fc6

File tree

7 files changed

+40
-14
lines changed

7 files changed

+40
-14
lines changed

.github/workflows/linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
- uses: actions/checkout@v2
88

99
- name: set up Python
10-
uses: actions/setup-python@v1
10+
uses: actions/setup-python@v2
1111
with:
1212
python-version: 3.8
1313

.github/workflows/unit_tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,10 @@ jobs:
116116
GITHUB_TOKEN: ${{secrets.TEST_GITHUB_TOKEN}}
117117
run: |
118118
# don't install GitHub token when testing with Lmod 7.x or non-Lmod module tools,
119+
# and only when testing with Lua as module syntax,
119120
# to avoid hitting GitHub rate limit;
120121
# tests that require a GitHub token are skipped automatically when no GitHub token is available
121-
if [[ ! "${{matrix.modules_tool}}" =~ 'Lmod-7' ]] && [[ ! "${{matrix.modules_tool}}" =~ 'modules-' ]]; then
122+
if [[ ! "${{matrix.modules_tool}}" =~ 'Lmod-7' ]] && [[ ! "${{matrix.modules_tool}}" =~ 'modules-' ]] && [[ "${{matrix.modules_syntax}}" == 'Lua' ]]; then
122123
if [ ! -z $GITHUB_TOKEN ]; then
123124
if [ "x${{matrix.python}}" == 'x2.6' ];
124125
then SET_KEYRING="keyring.set_keyring(keyring.backends.file.PlaintextKeyring())";

RELEASE_NOTES

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,28 @@ 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.5.2 (January 24th 2022)
8+
--------------------------
9+
10+
update/bugfix release
11+
12+
- various enhancements, including:
13+
- automatically prepend value for env-for-shebang configuration setting with sysroot (#3919)
14+
- enhance update_build_option to return original value + add support for update_build_options (#3923)
15+
- fix compatibility with Python 3.10 (#3926, #3933)
16+
- also take /etc/os-release into account in get_os_name and get_os_version (#3930)
17+
- enhance get_cpu_architecture and get_cpu_family to be aware of RISC-V (#3931)
18+
- various bug fixes, including:
19+
- relax pattern checks in test_toy_exts_parallel (#3921)
20+
- use sources.easybuild.io as backup URL for downloading Environment Modules sources to run test suite (#3928)
21+
- make intelfftw toolchain component aware of GCCcore (#3929)
22+
- other changes:
23+
- deprecate use of (actual) patch files that don't have a filename ending with .patch (#3920)
24+
- remove version restriction for keyring in requirements.txt to test with latest version (#3925)
25+
- simplify requirements.txt by removing Python 2.6 support (#3927)
26+
- only run GitHub tests when testing with Lua module syntax, to avoid hitting GitHub rate limit when running tests (#3938)
27+
28+
729
v4.5.1 (December 13th 2021)
830
---------------------------
931

easybuild/tools/filetools.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@
163163
'.sh': "cp -a %(filepath)s .",
164164
}
165165

166+
ZIPPED_PATCH_EXTS = ('.bz2', '.gz', '.xz')
167+
166168
# global set of names of locks that were created in this session
167169
global_lock_names = set()
168170

@@ -1493,8 +1495,11 @@ def create_patch_info(patch_spec):
14931495
str(patch_spec))
14941496

14951497
elif isinstance(patch_spec, string_type):
1496-
if not patch_spec.endswith('.patch'):
1497-
_log.deprecated("Use of patch file with filename that doesn't end with .patch: %s" % patch_spec, '5.0')
1498+
allowed_patch_exts = ['.patch' + x for x in ('',) + ZIPPED_PATCH_EXTS]
1499+
if not any(patch_spec.endswith(x) for x in allowed_patch_exts):
1500+
msg = "Use of patch file with filename that doesn't end with correct extension: %s " % patch_spec
1501+
msg += "(should be any of: %s)" % (', '.join(allowed_patch_exts))
1502+
_log.deprecated(msg, '5.0')
14981503
patch_info = {'name': patch_spec}
14991504
else:
15001505
error_msg = "Wrong patch spec, should be string of 2-tuple with patch name + argument: %s"
@@ -1548,7 +1553,7 @@ def apply_patch(patch_file, dest, fn=None, copy=False, level=None, use_git_am=Fa
15481553
# split in stem (filename w/o extension) + extension
15491554
patch_stem, patch_extension = os.path.splitext(os.path.split(abs_patch_file)[1])
15501555
# Supports only bz2, gz and xz. zip can be archives which are not supported.
1551-
if patch_extension in ['.gz', '.bz2', '.xz']:
1556+
if patch_extension in ZIPPED_PATCH_EXTS:
15521557
# split again to get the second extension
15531558
patch_subextension = os.path.splitext(patch_stem)[1]
15541559
if patch_subextension == ".patch":

easybuild/tools/systemtools.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -697,9 +697,6 @@ def get_os_name():
697697
res = name_regex.search(os_release_txt)
698698
if res:
699699
os_name = res.group('name')
700-
else:
701-
# no easy way to determine name of Linux distribution
702-
os_name = None
703700

704701
os_name_map = {
705702
'red hat enterprise linux server': 'RHEL',
@@ -742,8 +739,6 @@ def get_os_version():
742739
res = version_regex.search(os_release_txt)
743740
if res:
744741
os_version = res.group('version')
745-
else:
746-
os_version = None
747742

748743
if os_version:
749744
if get_os_name() in ["suse", "SLES"]:

easybuild/tools/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
# recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like
4444
# UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0'
4545
# This causes problems further up the dependency chain...
46-
VERSION = LooseVersion('4.5.2.dev0')
46+
VERSION = LooseVersion('4.5.3.dev0')
4747
UNKNOWN = 'UNKNOWN'
4848

4949

test/framework/filetools.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,11 +1638,14 @@ def test_create_patch_info(self):
16381638
stderr = self.get_stderr()
16391639
self.mock_stderr(False)
16401640
self.disallow_deprecated_behaviour()
1641-
expected_warning = "Use of patch file with filename that doesn't end with .patch: foo.txt"
1642-
self.assertTrue(expected_warning in stderr)
1641+
expected_warning = "Use of patch file with filename that doesn't end with correct extension: foo.txt "
1642+
expected_warning += "(should be any of: .patch, .patch.bz2, .patch.gz, .patch.xz)"
1643+
fail_msg = "Warning '%s' should appear in stderr output: %s" % (expected_warning, stderr)
1644+
self.assertTrue(expected_warning in stderr, fail_msg)
16431645

16441646
# deprecation warning is treated as an error in context of unit test suite
1645-
self.assertErrorRegex(EasyBuildError, expected_warning, ft.create_patch_info, 'foo.txt')
1647+
expected_error = expected_warning.replace('(', '\\(').replace(')', '\\)')
1648+
self.assertErrorRegex(EasyBuildError, expected_error, ft.create_patch_info, 'foo.txt')
16461649

16471650
# faulty input
16481651
error_msg = "Wrong patch spec"

0 commit comments

Comments
 (0)