Skip to content

Commit

Permalink
Merge pull request #4227 from easybuilders/4.7.x
Browse files Browse the repository at this point in the history
release EasyBuild v4.7.1
  • Loading branch information
SebastianAchilles committed Mar 20, 2023
2 parents 527c9f0 + 9c2bb6a commit 8430804
Show file tree
Hide file tree
Showing 73 changed files with 1,862 additions and 1,077 deletions.
17 changes: 13 additions & 4 deletions .github/workflows/bootstrap_script.yml
Expand Up @@ -2,6 +2,9 @@
name: test EasyBuild bootstrap script
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)

concurrency:
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
cancel-in-progress: true
Expand Down Expand Up @@ -69,11 +72,17 @@ jobs:

- name: install OS & Python packages
run: |
# disable apt update, we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
# sudo apt update
# for modules tool
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
# Avoid apt-get update, as we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
if ! sudo apt-get install $APT_PKGS; then
# Try to update cache, then try again to resolve 404s of old packages
sudo apt-get update -yqq || true
sudo apt-get install $APT_PKGS
fi
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
Expand Down
26 changes: 18 additions & 8 deletions .github/workflows/container_tests.yml
Expand Up @@ -2,6 +2,9 @@
name: Tests for container support
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)

concurrency:
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
cancel-in-progress: true
Expand All @@ -25,13 +28,19 @@ jobs:

- name: install OS & Python packages
run: |
# ensure package list is up to date to avoid 404's for old packages
sudo apt update -yqq
# for building Singularity images
sudo apt install rpm
sudo apt install yum
# for modules tool
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
# for building Singularity images
APT_PKGS+=" rpm yum"
# Avoid apt-get update, as we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
if ! sudo apt-get install $APT_PKGS; then
# Try to update cache, then try again to resolve 404s of old packages
sudo apt-get update -yqq || true
sudo apt-get install $APT_PKGS
fi
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
Expand All @@ -53,15 +62,16 @@ jobs:
# see https://github.com/apptainer/singularity/issues/5390#issuecomment-899111181
- name: install Singularity
run: |
sudo apt-get update
# install alien, which can be used to convert RPMs to Debian packages
sudo apt install alien
sudo apt-get install alien
alien --version
# determine latest version of Singularity available in EPEL, and download RPM
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')
curl -OL https://dl.fedoraproject.org/pub/archive/epel/8.5/Everything/x86_64/Packages/s/${singularity_rpm}
# convert Singularity RPM to Debian package, and install it
sudo alien -d ${singularity_rpm}
sudo apt install ./singularity*.deb
sudo apt-get install ./singularity*.deb
singularity --version
- name: install sources
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/eb_command.yml
Expand Up @@ -2,6 +2,9 @@
name: Tests for the 'eb' command
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)

concurrency:
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
cancel-in-progress: true
Expand Down Expand Up @@ -29,8 +32,18 @@ jobs:
# update to latest pip, check version
pip install --upgrade pip
pip --version
# install packages required for modules tool
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
# for modules tool
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
# Avoid apt-get update, as we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
if ! sudo apt-get install $APT_PKGS; then
# Try to update cache, then try again to resolve 404s of old packages
sudo apt-get update -yqq || true
sudo apt-get install $APT_PKGS
fi
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/linting.yml
@@ -1,6 +1,9 @@
name: Static Analysis
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)

concurrency:
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
cancel-in-progress: true
Expand Down
29 changes: 19 additions & 10 deletions .github/workflows/unit_tests.yml
Expand Up @@ -2,6 +2,9 @@
name: EasyBuild framework unit tests
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)

concurrency:
group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}}
cancel-in-progress: true
Expand Down Expand Up @@ -85,20 +88,26 @@ jobs:

- name: install OS & Python packages
run: |
# disable apt update, we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
# sudo apt update
# for modules tool
sudo apt install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
# for GitPython, python-hglib
APT_PKGS+=" git mercurial"
# dep for GC3Pie
APT_PKGS+=" time"
# Avoid apt-get update, as we don't really need it,
# and it does more harm than good (it's fairly expensive, and it results in flaky test runs)
if ! sudo apt-get install $APT_PKGS; then
# Try to update cache, then try again to resolve 404s of old packages
sudo apt-get update -yqq || true
sudo apt-get install $APT_PKGS
fi
# fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082
# needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists
if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then
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
fi
# for GitPython, python-hglib
sudo apt install git mercurial
# dep for GC3Pie
sudo apt install time
# Python packages
pip --version
pip install --upgrade pip
Expand Down Expand Up @@ -203,7 +212,7 @@ jobs:
# run test suite
python -O -m test.framework.suite 2>&1 | tee test_framework_suite.log
# try and make sure output of running tests is clean (no printed messages/warnings)
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"
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"
# '|| true' is needed to avoid that Travis stops the job on non-zero exit of grep (i.e. when there are no matches)
PRINTED_MSG=$(egrep -v "${IGNORE_PATTERNS}" test_framework_suite.log | grep '\.\n*[A-Za-z]' || true)
test "x$PRINTED_MSG" = "x" || (echo "ERROR: Found printed messages in output of test suite\n${PRINTED_MSG}" && exit 1)
test "x$PRINTED_MSG" = "x" || (echo "ERROR: Found printed messages in output of test suite" && echo "${PRINTED_MSG}" && exit 1)
103 changes: 0 additions & 103 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions README.rst
Expand Up @@ -4,7 +4,7 @@

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

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

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

The EasyBuild documentation is available at http://easybuild.readthedocs.org/.
The EasyBuild documentation is available at http://docs.easybuild.io/.

The EasyBuild framework source code is hosted on GitHub, along
with an issue tracker for bug reports and feature requests, see
Expand Down
42 changes: 42 additions & 0 deletions RELEASE_NOTES
Expand Up @@ -4,6 +4,48 @@ For more detailed information, please see the git log.
These release notes can also be consulted at https://easybuild.readthedocs.io/en/latest/Release_notes.html.


v4.7.1 (March 20th 2023)
------------------------

update/bugfix release

- various enhancements, including:
- add option to make sanity_check_paths arch dependent (#3845)
- add support for %(start_dir)s easyconfig template (#4073)
- add Ubuntu friendly package naming scheme EasyBuildDebFriendlyPNS (#4115)
- allow to directly import constants from easybuild.framework.easyconfig.constants (#4144)
- accept single source as dict and single checksum in check_checksums_for (#4180)
- add pre/post extension hook that is triggered before/after individual extension installations (#4193)
- enforce absolute paths as start dir of extensions (#4196)
- print warning when non-existing `start_dir` is specified for extension (#4201)
- add support to silence deprecation warning for easyconfigs and toolchains (#4207)
- skip directories when fixing shebangs (#4209)
- add support for 'modunloadmsg' easyconfig parameter (#4223)
- various bug fixes, including:
- fix use of `locate` in `check_os_dependency` (#4166)
- add VERSION to easybuild.easyblocks namespace in test sandbox (#4171)
- also apply filter to asyncprocess test subsuite (#4172)
- don't use deprecated SafeConfigParser when running with Python 3.x (#4173)
- update CI workflows to run 'apt-get update' if installation of packages via 'apt-get install' failed, likely due to stale apt cache (#4176)
- fixes for findPythonDeps script (#4179)
- check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (#4184)
- avoid GC3Pie deprecation warning (#4185)
- correctly restore sys.path in tests (#4186)
- suppress output of --skip-test-step test (#4187)
- fix flaky test_search_file due to accidental matches for `.*C++` search pattern (#4190)
- silence distutils deprecation warnings (#4204)
- 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)
- restore initial environment before processing each easystack item (#4213)
- make test_help_long work on small terminals (#4218)
- other changes:
- use better test assertions by replacing use of assertFalse/assertTrue (#4170, #4205)
- remove Travis CI configuration file (#4174)
- filter out deprecation warnings for platform.dist in get_os_version and platform.linux_distribution in get_os_name (#4175)
- only give read permissions in GitHub Actions workflows (#4182)
- fix website/docs links in README (#4199)
- only print "default: " for configuration option of strlist type if default is not empty (#4220)


v4.7.0 (January 9th 2023)
-------------------------

Expand Down

0 comments on commit 8430804

Please sign in to comment.