Skip to content

Commit 8430804

Browse files
Merge pull request #4227 from easybuilders/4.7.x
release EasyBuild v4.7.1
2 parents 527c9f0 + 9c2bb6a commit 8430804

Some content is hidden

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

73 files changed

+1862
-1077
lines changed

.github/workflows/bootstrap_script.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
name: test EasyBuild bootstrap script
33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read # to fetch code (actions/checkout)
7+
58
concurrency:
69
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
710
cancel-in-progress: true
@@ -69,11 +72,17 @@ jobs:
6972

7073
- name: install OS & Python packages
7174
run: |
72-
# disable apt update, we don't really need it,
73-
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
74-
# sudo apt update
7575
# for modules tool
76-
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
76+
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
77+
78+
# Avoid apt-get update, as we don't really need it,
79+
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
80+
if ! sudo apt-get install $APT_PKGS; then
81+
# Try to update cache, then try again to resolve 404s of old packages
82+
sudo apt-get update -yqq || true
83+
sudo apt-get install $APT_PKGS
84+
fi
85+
7786
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
7887
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
7988
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then

.github/workflows/container_tests.yml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
name: Tests for container support
33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read # to fetch code (actions/checkout)
7+
58
concurrency:
69
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
710
cancel-in-progress: true
@@ -25,13 +28,19 @@ jobs:
2528

2629
- name: install OS & Python packages
2730
run: |
28-
# ensure package list is up to date to avoid 404's for old packages
29-
sudo apt update -yqq
30-
# for building Singularity images
31-
sudo apt install rpm
32-
sudo apt install yum
3331
# for modules tool
34-
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
32+
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
33+
# for building Singularity images
34+
APT_PKGS+=" rpm yum"
35+
36+
# Avoid apt-get update, as we don't really need it,
37+
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
38+
if ! sudo apt-get install $APT_PKGS; then
39+
# Try to update cache, then try again to resolve 404s of old packages
40+
sudo apt-get update -yqq || true
41+
sudo apt-get install $APT_PKGS
42+
fi
43+
3544
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
3645
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
3746
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
@@ -53,15 +62,16 @@ jobs:
5362
# see https://github.com/apptainer/singularity/issues/5390#issuecomment-899111181
5463
- name: install Singularity
5564
run: |
65+
sudo apt-get update
5666
# install alien, which can be used to convert RPMs to Debian packages
57-
sudo apt install alien
67+
sudo apt-get install alien
5868
alien --version
5969
# determine latest version of Singularity available in EPEL, and download RPM
6070
singularity_rpm=$(curl -sL https://dl.fedoraproject.org/pub/archive/epel/8.5/Everything/x86_64/Packages/s/ | grep singularity | sed 's/.*singularity/singularity/g' | sed 's/rpm.*/rpm/g')
6171
curl -OL https://dl.fedoraproject.org/pub/archive/epel/8.5/Everything/x86_64/Packages/s/${singularity_rpm}
6272
# convert Singularity RPM to Debian package, and install it
6373
sudo alien -d ${singularity_rpm}
64-
sudo apt install ./singularity*.deb
74+
sudo apt-get install ./singularity*.deb
6575
singularity --version
6676
6777
- name: install sources

.github/workflows/eb_command.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
name: Tests for the 'eb' command
33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read # to fetch code (actions/checkout)
7+
58
concurrency:
69
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
710
cancel-in-progress: true
@@ -29,8 +32,18 @@ jobs:
2932
# update to latest pip, check version
3033
pip install --upgrade pip
3134
pip --version
32-
# install packages required for modules tool
33-
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
35+
36+
# for modules tool
37+
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
38+
39+
# Avoid apt-get update, as we don't really need it,
40+
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
41+
if ! sudo apt-get install $APT_PKGS; then
42+
# Try to update cache, then try again to resolve 404s of old packages
43+
sudo apt-get update -yqq || true
44+
sudo apt-get install $APT_PKGS
45+
fi
46+
3447
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
3548
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
3649
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then

.github/workflows/linting.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
name: Static Analysis
22
on: [push, pull_request]
33

4+
permissions:
5+
contents: read # to fetch code (actions/checkout)
6+
47
concurrency:
58
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
69
cancel-in-progress: true

.github/workflows/unit_tests.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
name: EasyBuild framework unit tests
33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read # to fetch code (actions/checkout)
7+
58
concurrency:
69
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
710
cancel-in-progress: true
@@ -85,20 +88,26 @@ jobs:
8588

8689
- name: install OS & Python packages
8790
run: |
88-
# disable apt update, we don't really need it,
89-
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
90-
# sudo apt update
9191
# for modules tool
92-
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
92+
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
93+
# for GitPython, python-hglib
94+
APT_PKGS+=" git mercurial"
95+
# dep for GC3Pie
96+
APT_PKGS+=" time"
97+
98+
# Avoid apt-get update, as we don't really need it,
99+
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
100+
if ! sudo apt-get install $APT_PKGS; then
101+
# Try to update cache, then try again to resolve 404s of old packages
102+
sudo apt-get update -yqq || true
103+
sudo apt-get install $APT_PKGS
104+
fi
105+
93106
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
94107
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
95108
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
96109
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
97110
fi
98-
# for GitPython, python-hglib
99-
sudo apt install git mercurial
100-
# dep for GC3Pie
101-
sudo apt install time
102111
# Python packages
103112
pip --version
104113
pip install --upgrade pip
@@ -203,7 +212,7 @@ jobs:
203212
# run test suite
204213
python -O -m test.framework.suite 2>&1 | tee test_framework_suite.log
205214
# try and make sure output of running tests is clean (no printed messages/warnings)
206-
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.*default_backend|CryptographyDeprecationWarning: Python 2|from cryptography.utils import int_from_bytes|Blowfish|GC3Pie not available, skipping test"
215+
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"
207216
# '|| true' is needed to avoid that Travis stops the job on non-zero exit of grep (i.e. when there are no matches)
208217
PRINTED_MSG=$(egrep -v "${IGNORE_PATTERNS}" test_framework_suite.log | grep '\.\n*[A-Za-z]' || true)
209-
test "x$PRINTED_MSG" = "x" || (echo "ERROR: Found printed messages in output of test suite\n${PRINTED_MSG}" && exit 1)
218+
test "x$PRINTED_MSG" = "x" || (echo "ERROR: Found printed messages in output of test suite" && echo "${PRINTED_MSG}" && exit 1)

.travis.yml

Lines changed: 0 additions & 103 deletions
This file was deleted.

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
.. image:: https://github.com/easybuilders/easybuild-framework/workflows/EasyBuild%20framework%20unit%20tests/badge.svg?branch=develop
66

7-
`EasyBuild <https://easybuilders.github.io/easybuild>`_ is a software build
7+
`EasyBuild <https://easybuild.io>`_ is a software build
88
and installation framework that allows you to manage (scientific) software
99
on High Performance Computing (HPC) systems in an efficient way.
1010

@@ -13,7 +13,7 @@ supports the implementation and use of so-called easyblocks which
1313
implement the software install procedure for a particular (group of) software
1414
package(s).
1515

16-
The EasyBuild documentation is available at http://easybuild.readthedocs.org/.
16+
The EasyBuild documentation is available at http://docs.easybuild.io/.
1717

1818
The EasyBuild framework source code is hosted on GitHub, along
1919
with an issue tracker for bug reports and feature requests, see

RELEASE_NOTES

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,48 @@ 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.7.1 (March 20th 2023)
8+
------------------------
9+
10+
update/bugfix release
11+
12+
- various enhancements, including:
13+
- add option to make sanity_check_paths arch dependent (#3845)
14+
- add support for %(start_dir)s easyconfig template (#4073)
15+
- add Ubuntu friendly package naming scheme EasyBuildDebFriendlyPNS (#4115)
16+
- allow to directly import constants from easybuild.framework.easyconfig.constants (#4144)
17+
- accept single source as dict and single checksum in check_checksums_for (#4180)
18+
- add pre/post extension hook that is triggered before/after individual extension installations (#4193)
19+
- enforce absolute paths as start dir of extensions (#4196)
20+
- print warning when non-existing `start_dir` is specified for extension (#4201)
21+
- add support to silence deprecation warning for easyconfigs and toolchains (#4207)
22+
- skip directories when fixing shebangs (#4209)
23+
- add support for 'modunloadmsg' easyconfig parameter (#4223)
24+
- various bug fixes, including:
25+
- fix use of `locate` in `check_os_dependency` (#4166)
26+
- add VERSION to easybuild.easyblocks namespace in test sandbox (#4171)
27+
- also apply filter to asyncprocess test subsuite (#4172)
28+
- don't use deprecated SafeConfigParser when running with Python 3.x (#4173)
29+
- update CI workflows to run 'apt-get update' if installation of packages via 'apt-get install' failed, likely due to stale apt cache (#4176)
30+
- fixes for findPythonDeps script (#4179)
31+
- check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (#4184)
32+
- avoid GC3Pie deprecation warning (#4185)
33+
- correctly restore sys.path in tests (#4186)
34+
- suppress output of --skip-test-step test (#4187)
35+
- fix flaky test_search_file due to accidental matches for `.*C++` search pattern (#4190)
36+
- silence distutils deprecation warnings (#4204)
37+
- improve handling of start_dir and add tests for cases where either ext_dir or initial start_dir or both are unset or None (#4206)
38+
- restore initial environment before processing each easystack item (#4213)
39+
- make test_help_long work on small terminals (#4218)
40+
- other changes:
41+
- use better test assertions by replacing use of assertFalse/assertTrue (#4170, #4205)
42+
- remove Travis CI configuration file (#4174)
43+
- filter out deprecation warnings for platform.dist in get_os_version and platform.linux_distribution in get_os_name (#4175)
44+
- only give read permissions in GitHub Actions workflows (#4182)
45+
- fix website/docs links in README (#4199)
46+
- only print "default: " for configuration option of strlist type if default is not empty (#4220)
47+
48+
749
v4.7.0 (January 9th 2023)
850
-------------------------
951

0 commit comments

Comments
 (0)