Skip to content

sync with main + bump version to 5.0.1dev #4825

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1,414 commits into from
Mar 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1414 commits
Select commit Hold shift + click to select a range
a2c4c8c
Faster iteration in ModuleLoadEnvironment
Flamefire Feb 4, 2025
df528c6
Merge pull request #4754 from Flamefire/dict-improve
boegel Feb 5, 2025
4e13fe8
Merge branch '5.0.x' into cpath-mod-opt
lexming Feb 5, 2025
67506d6
enable non-blocking reads for streaming outputs
lexming Feb 6, 2025
85a6629
Remove superflous `is_string` method
Flamefire Feb 6, 2025
79dfbde
Merge pull request #4756 from Flamefire/superflous-is-string
branfosj Feb 6, 2025
babd817
use same non-blocking mechanism for streaming and QA runs
lexming Feb 6, 2025
cda7bd9
collect streaming output line by line and decode it to debug logs
lexming Feb 6, 2025
95a41d6
remove leftover print message about streaming output of command, this…
lexming Feb 7, 2025
58e698b
remove duplication of logs of module commands because run_shell_cmd a…
lexming Feb 7, 2025
8dd9cc5
update expected string in output of test_run_shell_cmd_stream
lexming Feb 7, 2025
d509595
remove assert on old print message about streaming output
lexming Feb 7, 2025
43031e4
Add function determining if path is ancestor of another path
gkaf89 Jan 19, 2025
5af0637
Add assertion about the existence of a list of paths
gkaf89 Jan 21, 2025
e92e469
Add function generating unused directories given a list of paths
gkaf89 Jan 11, 2025
460fe88
Copy build log and artifacts to permanents locations after a failure
gkaf89 Aug 2, 2024
4750fca
Enforce persistence copying restrictions during input option validation
gkaf89 Jan 24, 2025
d52d744
[STYLE] Follow style conventions in variable names and functions calls
gkaf89 Jan 30, 2025
a3a8b33
minor code style improvement in run_shell_cmd to enable non-blocking …
boegel Feb 8, 2025
7927622
Merge pull request #4755 from lexming/non-block-reads
boegel Feb 8, 2025
ea723dd
Mention individual files copied during error artifact persistence
gkaf89 Feb 7, 2025
f2c32ba
Merge branch '5.0.x' into cpath-mod-opt
lexming Feb 9, 2025
cde21cb
Merge pull request #4739 from xdelaruelle/modules-5.5
boegel Feb 9, 2025
0c02ded
Merge branch '5.0.x' into job-local-tweak
boegel Feb 9, 2025
cf06d01
add BOTH_TO_DIR state to LibSymlink to cover cases where both lib and…
lexming Feb 10, 2025
3884c02
add extra test case for make_module_req
boegel Feb 10, 2025
a9484c8
Merge pull request #8 from boegel/fix-lib-dual-symlink
lexming Feb 10, 2025
ad73222
sort paths in test for LibSymlink.BOTH_TO_DIR
lexming Feb 10, 2025
6bc0094
Merge pull request #4761 from lexming/fix-lib-dual-symlink
boegel Feb 10, 2025
9ea0e6e
replace cpp_headers methods from ModuleLoadEnvironment with a generic…
lexming Feb 10, 2025
4cede72
define aliases in ModuleLoadEnvironment for --module-search-path-head…
lexming Feb 10, 2025
dca5a52
test appending of paths to ModuleLoadEnvironment aliases to test_modu…
lexming Feb 10, 2025
014cbc1
Merge branch '5.0.x' into cpath-mod-opt
lexming Feb 10, 2025
8cf9189
add remove method to ModuleLoadEnvironment
lexming Feb 11, 2025
476c5b0
introduce more constants for MOD_SEARCH_PATH_HEADERS*
boegel Feb 12, 2025
ca64b96
use 'cpath' as default for module_search_path_headers easyconfig para…
boegel Feb 12, 2025
f8afe45
simplify logic to determine mod_load_cpp_headers
boegel Feb 12, 2025
f908b8d
add constant for 'HEADERS' magic string in ModuleLoadEnvironment
boegel Feb 12, 2025
10525cd
fix default for module_search_path_headers build option, remove 'none…
boegel Feb 12, 2025
3f1b6aa
Merge pull request #4757 from lexming/deduplicate-module-output
boegel Feb 12, 2025
bebf495
Merge pull request #9 from boegel/cpath-mod-opt
lexming Feb 12, 2025
8ef6d6e
Merge pull request #4655 from lexming/cpath-mod-opt
boegel Feb 12, 2025
ed8d0ae
Merge branch '5.0.x' into deprecate_parallel-5
Flamefire Feb 12, 2025
046084a
Merge branch '5.0.x' into resolve-context-manager
Flamefire Feb 13, 2025
3ad6aa5
Use `ValueError` instead of `EasyBuildError` to generate stacktrace
Flamefire Feb 13, 2025
55c5f6d
correctly deal with easyblocks that still use deprecated make_module_…
boegel Feb 13, 2025
55f6214
use self.vars in ModuleLoadEnvironment.replace
boegel Feb 13, 2025
ebbfe45
Merge pull request #4763 from boegel/fix_make_module_req_guess
lexming Feb 13, 2025
8fa8c28
Fix typo: Superflous "of"
Flamefire Feb 13, 2025
64f5529
Fix f-string
Flamefire Feb 13, 2025
48ea737
Fix handling of `(max_)parallel` for extensions
Flamefire Feb 13, 2025
d79ffe0
Fix errors due to parallel property being unset
Flamefire Feb 14, 2025
7acc5cc
Switch keep_debug_symbols to false by default
Micket Feb 17, 2025
804359d
Merge pull request #4762 from Flamefire/typo
boegel Feb 18, 2025
6f7cc9b
Drop -g from test examples as debug symbols is off by default again
Micket Feb 20, 2025
2e8e993
Merge pull request #4764 from Micket/disable-debugsymbols
boegel Feb 22, 2025
ec5e7c0
Merge branch '5.0.x' into job-local-tweak
boegel Feb 22, 2025
e9fcef8
Merge pull request #4669 from bartoldeman/job-local-tweak
boegel Feb 22, 2025
5bd793f
only drop support for 'parallel' easyconfig parameter in EasyBuild 6.0
boegel Feb 23, 2025
192a329
Sort parallel template with other templates
Flamefire Feb 23, 2025
2691297
Merge pull request #4580 from Flamefire/deprecate_parallel-5
boegel Feb 24, 2025
e5f2552
Merge branch 'develop' into 5.0.x
boegel Feb 24, 2025
4045246
Merge pull request #4771 from boegel/5.0.x
branfosj Feb 24, 2025
dd61d53
Merge branch '5.0.x' into resolve-context-manager
boegel Feb 24, 2025
d243c79
use expect_resolved_template_values + enable_templating properties ra…
boegel Feb 24, 2025
7b64bc5
bump version to 5.0.0beta2
boegel Feb 24, 2025
1429bd0
Merge pull request #4772 from boegel/5.0.0beta2
branfosj Feb 24, 2025
3eb811c
separate dry run from regular path in make_module_req
lexming Feb 25, 2025
3b33e3a
Change keepsymlinks default from False to True
bartoldeman Feb 26, 2025
9a73531
Add test for proper operation of "keepsymlinks"
bartoldeman Feb 26, 2025
99bc3ff
add new method EasyBlock.inject_module_extra_paths to handle modextra…
lexming Feb 25, 2025
6680b8e
respect delimiter of ModuleEnvironmentVariable in make_module_req
lexming Feb 26, 2025
e50b41b
simplify setter in ModuleLoadEnvironment to always pass a dict of arg…
lexming Feb 26, 2025
7540e34
rename ModuleEnvironmentVariable argument delim to delimiter
lexming Feb 26, 2025
d72e709
catch error on setting ModuleEnvironmentVariable with wrong arguments
lexming Feb 26, 2025
6bcce86
simplify inject_module_extra_paths as ModuleEnvironmentVariable argum…
lexming Feb 26, 2025
01b1bfd
Merge pull request #4735 from Flamefire/resolve-context-manager
boegel Feb 26, 2025
d496f95
deprecate modextrapaths_append in favour of modextrapaths
lexming Feb 26, 2025
3689cac
enhance make_module_req to allow absolute paths by default in ModuleL…
lexming Feb 27, 2025
3e12cc4
expand globs in make_module_req recursively
lexming Feb 27, 2025
a9d89a5
ensure that expanded relative paths in module_make_req are not pointi…
lexming Feb 27, 2025
9968b18
enhance ModuleLoadEnvironment to handle environment variables startin…
lexming Feb 27, 2025
219942f
deprecate allow_append_abs_path and allow_prepend_abs_path, absolute …
lexming Feb 27, 2025
376b249
add MODULE_LOAD_ENV_HEADER to easyconfig constants
lexming Feb 27, 2025
79cadba
replace delattr with ModuleLoadEnvironment.remove() in make_module_re…
lexming Feb 27, 2025
5cf1ddb
add support for ModuleLoadEnvironment aliases in easyconfig parameter…
lexming Feb 27, 2025
a39433d
use same module generator in dry run of make_module_req to regular run
lexming Feb 27, 2025
ee22434
avoid name collision in ModuleEnvironmentVariable by renaming prepend…
lexming Feb 27, 2025
ab46403
fix test of creation of ModuleEnvironmentVariable with non-exustent t…
lexming Feb 27, 2025
09ba512
fix comment spacing in ModuleLoadEnvironment init
lexming Feb 27, 2025
d3b2960
fix format string in easyblock tests
lexming Feb 27, 2025
5cecaf7
fix test_avail_easyconfig_constants for MODULE_LOAD_ENV_HEADERS
lexming Feb 27, 2025
92d1bc5
update test_expand_module_search_path for new expansion method
lexming Feb 27, 2025
ab9435e
update test_toy_module_fulltxt for migration of modextrapaths to make…
lexming Feb 27, 2025
53ae7a8
fix module pattern in test_make_module_req to be compatible with Tcl …
lexming Feb 27, 2025
c6b7de4
remove LibSymlink class from easyblock
lexming Feb 27, 2025
34d6682
remove unused Enum from easyblock
lexming Feb 27, 2025
33b9ab4
update github token tests for EB5
branfosj Mar 1, 2025
e2f2ec6
set maximum level of parallellism via 'parallel' configuration option…
boegel Mar 1, 2025
950728d
fix
branfosj Mar 1, 2025
a7ab1e3
test_github_fetch_easyblocks_from_pr
branfosj Mar 1, 2025
8e3c029
add comment
branfosj Mar 1, 2025
484023e
test_det_copy_ec_specs
branfosj Mar 1, 2025
32d8242
test_github_from_pr_token_log
branfosj Mar 1, 2025
1e31c31
test_github_add_pr_labels
branfosj Mar 1, 2025
71b761c
simplify test for copying of logs/build dirs for failing installations
boegel Mar 1, 2025
b2c2193
use mkdir & remove_dir functions in additional filetools tests
boegel Mar 1, 2025
7baef32
minor tweaks in is_parent_path function
boegel Mar 1, 2025
f291d8c
enhance test for is_parent_path
boegel Mar 1, 2025
b0a10a1
rename create_unused_dirs to create_non_existing_paths, rename get_fi…
boegel Mar 1, 2025
7860075
rename --artifact-error-path to --failed-installs-build-dirs-path and…
boegel Mar 1, 2025
36aa118
rename persist_failed_compilation_log_and_artifacts to copy_build_dir…
boegel Mar 1, 2025
6eb27db
don't shadow 'source_paths' imported from tools.config in copy_build_…
boegel Mar 1, 2025
6e4024e
fix failing tests
boegel Mar 1, 2025
88e84cd
Merge pull request #4777 from boegel/parallel_16
branfosj Mar 2, 2025
a4e8856
fix alphabetical ordering of filetools imports in easyblock.py
boegel Mar 2, 2025
6a6eef6
don't let setting --prefix configuration option imply that --failed-i…
boegel Mar 2, 2025
19964d3
Merge pull request #4773 from bartoldeman/keepsymlinks
boegel Mar 2, 2025
6f8d903
aply suggested changes in copy_build_dirs_logs_failed_installs
boegel Mar 2, 2025
25864b8
apply suggested changes for get_failed_installs_build_dirs_path + get…
boegel Mar 2, 2025
c50dc4e
simplify code to determine name of unique subdirectory in copy_build_…
boegel Mar 2, 2025
f63a743
rename --failed-installs-build-dirs-path to --failed-install-build-di…
boegel Mar 2, 2025
de9518e
fix tests
branfosj Mar 2, 2025
799b97a
needed lots more easyblocks
branfosj Mar 2, 2025
9fd2a46
test_github_det_easyconfig_paths_from_pr
branfosj Mar 2, 2025
322f92c
oh look, I broke the tests!
branfosj Mar 2, 2025
7c58cb9
fix alphabetical order of imports from tools.config in easyblock.py
boegel Mar 2, 2025
8707b3c
test_github_merge_pr
branfosj Mar 2, 2025
776cfef
oh look, I broke the tests!
branfosj Mar 2, 2025
905b941
minor code cleanup in copy_build_dirs_logs_failed_install
boegel Mar 2, 2025
e184b67
fix code style check failure by creating inner function rather than a…
boegel Mar 2, 2025
1d757db
Merge branch '5.0.x' into feature/error-logging
boegel Mar 2, 2025
c996ba5
remove authorship
branfosj Mar 2, 2025
5bd3121
test_github_fetch_files_from_pr_cache
branfosj Mar 2, 2025
5a7d5a4
simplify
branfosj Mar 2, 2025
dd6415b
f8
branfosj Mar 2, 2025
015dc6a
test_github_review_pr
branfosj Mar 2, 2025
f0dc223
simplify login in EasyBlock.make_module_req
boegel Mar 2, 2025
cea3024
use 'env_var' rather than 'envar' in EasyBlock.inject_module_extra_paths
boegel Mar 2, 2025
b623f40
test_github_from_pr_x
branfosj Mar 2, 2025
75f2843
test_github_from_pr_listed_ecs
branfosj Mar 2, 2025
ea69117
f8
branfosj Mar 2, 2025
4f32825
more
branfosj Mar 2, 2025
b3d5a7d
stop using Ubuntu 20.4 in GitHub Actions workflows, use Ubuntu 22.04 …
boegel Mar 2, 2025
ee156f4
test_github_xxx_include_easyblocks_from_pr
branfosj Mar 2, 2025
0bf337e
test_github_from_pr
branfosj Mar 2, 2025
e848860
minor code cleanup in EasyBlock.inject_module_extra_paths
boegel Mar 2, 2025
ae07512
Merge pull request #4601 from gkaf89/feature/error-logging
boegel Mar 2, 2025
29a763c
Merge branch '5.0.x' into modload-modextrapath
boegel Mar 2, 2025
0813e82
Merge pull request #4774 from lexming/modload-modextrapath
boegel Mar 2, 2025
2b4e043
fix test_modulerc by taking into account that wrapper module may also…
boegel Mar 3, 2025
39518c0
limit output included in sanity check failure message for missing RPA…
boegel Mar 3, 2025
b3c16f6
Merge pull request #4779 from boegel/limit_rpath_readelf_fail_output
smoors Mar 3, 2025
4702af0
Merge pull request #4778 from boegel/fix_test_modulerc
Micket Mar 3, 2025
8516e1c
use python3.6 command instead of python3 in workflow to run tests wit…
boegel Mar 3, 2025
b642779
make delattr aware of environment variables in ModuleLoadEnvironment
lexming Mar 3, 2025
1406bdd
print warning alerting that ModuleLoadEnvironment.remove is preferred…
lexming Mar 3, 2025
ea36f99
add environment variable name to delattr warning in ModuleLoadEnviron…
lexming Mar 3, 2025
cc9d03f
add logger to ModuleLoadEnvironment
lexming Mar 3, 2025
796df9a
use --filter-deps in end2end test in fedora-41 or ubuntu-24.04 contai…
boegel Mar 3, 2025
ed9d39f
move warning in delattr of ModuleLoadEnvironment out of try statement
lexming Mar 3, 2025
2869413
Merge branch 'develop' into 5.0.x
boegel Mar 3, 2025
ccda95b
remove warning for ModuleLoadEnvironment.__delattr__
lexming Mar 4, 2025
4f72dae
update description of ModuleLoadEnvironment.__delattr__
lexming Mar 4, 2025
ccd481a
remove custom workflow for running test suite with Python 3.6, will b…
boegel Mar 4, 2025
5bd1792
fix f-string in filetools.extract_cmd
lexming Mar 4, 2025
54922c9
Merge pull request #4783 from boegel/github-actions-ubuntu-22.04
Micket Mar 4, 2025
e4e6067
Fix quoting of command in setup shell script
Flamefire Mar 5, 2025
1c717a8
Merge branch '5.0.x' of github.com:easybuilders/easybuild-framework i…
lexming Mar 5, 2025
130c612
Merge branch '5.0.x' of github.com:easybuilders/easybuild-framework i…
lexming Mar 5, 2025
ee3f7a8
Merge pull request #4791 from lexming/fix-fstrings-extractcmd
branfosj Mar 5, 2025
bd1f818
simplify generation of git command in get_source_tarball_from_git method
lexming Mar 5, 2025
87e9e56
add checks on .git dir presence to test_github_get_source_tarball_fro…
lexming Mar 6, 2025
bcb878a
use same checkout mechanism for git repos with tags and commits
lexming Mar 6, 2025
4ba02d6
add checks on submodules to test_github_get_source_tarball_from_git
lexming Mar 6, 2025
be26cf3
add warning about possible checksum verification failure on non-repro…
lexming Mar 6, 2025
7cefe6d
Merge branch '5.0.x' of github.com:boegel/easybuild-framework into 5.0.x
boegel Mar 7, 2025
2ba63b7
Merge branch '5.0.x' of github.com:easybuilders/easybuild-framework i…
boegel Mar 7, 2025
ade0d88
use WARN rather than run.WARN in test_apply_regex_substitutions
boegel Mar 7, 2025
1449822
Merge pull request #4797 from lexming/fix-git-clone
boegel Mar 7, 2025
fda1fa2
Merge pull request #4798 from lexming/warn-nonreprod-sources
boegel Mar 7, 2025
fe85ce4
Update GitHub Actions config
Flamefire Mar 4, 2025
7e84df9
Use only available Python versions
Flamefire Mar 5, 2025
9b804c4
Remove LC_ALL matrix entry
Flamefire Mar 6, 2025
ac8b052
Switch back to referencing actions by commit
Flamefire Mar 7, 2025
8245989
Merge pull request #4786 from boegel/5.0.x
jfgrimm Mar 7, 2025
1cbabb6
Allow empty string in `modextrapaths`
appolloford Mar 7, 2025
4f3f9b7
Refactor try...else block
appolloford Mar 7, 2025
8d395ef
Merge pull request #4799 from appolloford/5.0.x
lexming Mar 7, 2025
3fe6965
avoid re-assigning env_var_name of outer for loop in inner for loop
lexming Mar 7, 2025
a3b8149
Merge pull request #4801 from lexming/fix-reassign
Micket Mar 7, 2025
3388544
Merge pull request #4795 from Flamefire/gha-5
boegel Mar 7, 2025
d2b310c
Merge branch '5.0.x' into fix-delattr-modloa
lexming Mar 8, 2025
027486e
fix environment variable name used in debug log message in inject_mod…
boegel Mar 8, 2025
593e489
enhance tests to also check use of empty string in modextrapaths
boegel Mar 8, 2025
6e052a8
Merge pull request #4802 from boegel/fix_debug_log_msg_inject_module_…
lexming Mar 8, 2025
6ce366d
Merge pull request #4803 from boegel/test_empty_value_modextrapaths
lexming Mar 8, 2025
792e7c6
Use amd-smi for AMD GPUs if possible
Thyre Mar 10, 2025
24b2df7
Shorten line length to please linter
Thyre Mar 10, 2025
1852613
Fix off-by-one error in `nicediff`
Flamefire Mar 11, 2025
f8a49aa
Exclude "AssertionError" from error message
Flamefire Mar 11, 2025
18c38aa
Don't show "DIFF: " for numbers, bools, `None` or single-line strings
Flamefire Mar 11, 2025
8b3c0ca
Avoid the original assertion stacktrace in custom assert
Flamefire Mar 11, 2025
3e1913d
Move the diffable test to the error path
Flamefire Mar 11, 2025
34a9486
Allow rpath toolchainopt for systemcompiler
bartoldeman Mar 11, 2025
78f2025
Merge pull request #4808 from bartoldeman/system-rpath-tcopt
branfosj Mar 11, 2025
c183ef6
don't expand paths being considered for generated module file for tem…
boegel Mar 12, 2025
a7671eb
enhance test_toy_advanced to verify fix for modextrapaths w.r.t. non-…
boegel Mar 12, 2025
fc15f5e
Merge pull request #4784 from lexming/fix-delattr-modloa
boegel Mar 12, 2025
4974d51
Merge pull request #4805 from Thyre/systemtools-use-amd-smi
boegel Mar 12, 2025
7112e40
don't require that all templates can be resolved for 'exts_list' easy…
boegel Mar 12, 2025
5a90763
be more careful when checking value of exts_list in test_count_files
boegel Mar 12, 2025
7ec5bf0
only actually print dry run message in dry run mode in EasyBlock.make…
boegel Mar 12, 2025
5e0f1d0
access exts_list value via get_ref in map_easyconfig_to_target_tc_hie…
boegel Mar 12, 2025
4891818
take into account changes to toy easyconfig in test_inject_checksums
boegel Mar 12, 2025
297ef6e
be more careful to get list of extensions in tests by using get_ref
boegel Mar 12, 2025
4504eeb
Merge pull request #4809 from boegel/fix_modextrapaths_fake_module
branfosj Mar 12, 2025
37d39b4
remove unused code
branfosj Mar 13, 2025
ae2194d
f8
branfosj Mar 13, 2025
ebd9de1
update list of defaults for `silence_deprecation_warnings`
branfosj Mar 13, 2025
7d6c853
Merge pull request #4811 from branfosj/update
boegel Mar 13, 2025
380ea38
exit rather than remove
branfosj Mar 13, 2025
252c6c7
Update easybuild/tools/py2vs3/__init__.py
branfosj Mar 13, 2025
aa7e0d4
Merge pull request #4810 from branfosj/remove
boegel Mar 13, 2025
014b6f8
Avoid unecessary warning about skipping checksum verification of Git …
Flamefire Mar 14, 2025
eaa6205
fix test_det_parallelism_mocked: should use assertEqual instead of as…
boegel Mar 15, 2025
683fe00
add --max-parallel configuration option to control maximum number of …
boegel Mar 15, 2025
82670a4
avoid potential confusion between max_parallel easyconfig parameter a…
boegel Mar 15, 2025
f6cd962
Merge pull request #4816 from boegel/max_parallel
branfosj Mar 15, 2025
0c30262
Merge pull request #4813 from Flamefire/git-checksum-warning
boegel Mar 16, 2025
50a3282
Merge pull request #4807 from Flamefire/improve_assert_output
boegel Mar 16, 2025
6a275ed
Merge pull request #4792 from Flamefire/cmdshell
boegel Mar 16, 2025
c88e3b0
Merge branch 'develop' into 5.0.x
boegel Mar 16, 2025
6594948
Merge pull request #4817 from boegel/5.0.x
branfosj Mar 16, 2025
192442f
bump version to 5.0.0
boegel Mar 17, 2025
656c7d7
Merge branch '5.0.x' into github
boegel Mar 17, 2025
57a317b
update release notes for EasyBuild v5.0.0
boegel Mar 17, 2025
59974d1
fix test_det_copy_ec_specs
boegel Mar 17, 2025
b0448fb
fix test_github_copy_ec_from_pr
boegel Mar 17, 2025
1d2987f
Merge pull request #4776 from branfosj/github
boegel Mar 17, 2025
86fc880
potential test fix
branfosj Mar 18, 2025
3948692
undo easyblocks import
branfosj Mar 18, 2025
535241f
f8
branfosj Mar 18, 2025
edc6343
remove commented out and not needed code
branfosj Mar 18, 2025
069b58a
Merge pull request #4822 from branfosj/test_fix
boegel Mar 18, 2025
8982f39
Merge pull request #4819 from boegel/eb500
branfosj Mar 18, 2025
b208f74
fix milestone used in test_github_merge_pr
boegel Mar 18, 2025
ff57270
Merge pull request #4824 from boegel/fix_test_github_merge_pr
branfosj Mar 18, 2025
a42e25b
Merge pull request #4823 from easybuilders/5.0.x
boegel Mar 18, 2025
d8b2658
bump version to 5.0.1dev
boegel Mar 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/container_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ jobs:
python: [3.7]
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{matrix.python}}
architecture: x64

- name: install OS & Python packages
run: |
# for modules tool
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
APT_PKGS="lua5.3 liblua5.3-dev lua-filesystem lua-posix tcl tcl-dev"
# for building Singularity images
APT_PKGS+=" rpm dnf"

Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
ls dist
export PREFIX=/tmp/$USER/$GITHUB_SHA
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/develop.tar.gz
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz

- name: run test
run: |
Expand All @@ -95,7 +95,7 @@ jobs:
echo '%_dbpath %{_var}/lib/rpm' >> $HOME/.rpmmacros
# build CentOS 7 container image for bzip2 1.0.8 using EasyBuild;
# see https://docs.easybuild.io/en/latest/Containers.html
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/develop/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/5.0.x/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
export EASYBUILD_CONTAINERPATH=$PWD
export EASYBUILD_CONTAINER_CONFIG='bootstrap=docker,from=ghcr.io/easybuilders/centos-7.9-python3-amd64'
eb bzip2-1.0.8.eb --containerize --experimental --container-build-image
Expand Down
18 changes: 6 additions & 12 deletions .github/workflows/container_tests_apptainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ jobs:
strategy:
matrix:
python: [3.7]
apptainer: [1.0.0, 1.1.7]
apptainer: [1.0.0, 1.1.7, 1.3.6]
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{matrix.python}}
architecture: x64
Expand All @@ -31,7 +31,7 @@ jobs:
# for building CentOS 7 container images
APT_PKGS="rpm dnf"
# for modules tool
APT_PKGS+=" lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
APT_PKGS+=" lua5.3 liblua5.3-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)
Expand All @@ -41,12 +41,6 @@ jobs:
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

- name: install Lmod
run: |
# avoid downloading modules tool sources into easybuild-framework dir
Expand Down Expand Up @@ -74,7 +68,7 @@ jobs:
ls dist
export PREFIX=/tmp/$USER/$GITHUB_SHA
pip install --prefix $PREFIX dist/easybuild[-_]framework*tar.gz
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/develop.tar.gz
pip install --prefix $PREFIX https://github.com/easybuilders/easybuild-easyblocks/archive/5.0.x.tar.gz

- name: run test
run: |
Expand All @@ -95,7 +89,7 @@ jobs:
echo '%_dbpath %{_var}/lib/rpm' >> $HOME/.rpmmacros
# build CentOS 7 container image for bzip2 1.0.8 using EasyBuild;
# see https://docs.easybuild.io/en/latest/Containers.html
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/develop/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
curl -OL https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/5.0.x/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb
export EASYBUILD_CONTAINERPATH=$PWD
export EASYBUILD_CONTAINER_CONFIG='bootstrap=docker,from=ghcr.io/easybuilders/centos-7.9-python3-amd64'
export EASYBUILD_CONTAINER_TYPE='apptainer'
Expand Down
27 changes: 14 additions & 13 deletions .github/workflows/eb_command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@ concurrency:

jobs:
test-eb:
runs-on: ubuntu-20.04
strategy:
matrix:
python: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']
python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
include:
- python: 3.7
os: ubuntu-22.04
fail-fast: false
runs-on: ${{matrix.os || 'ubuntu-24.04'}}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{matrix.python}}
architecture: x64
Expand All @@ -32,9 +35,13 @@ jobs:
# update to latest pip, check version
pip install --upgrade pip
pip --version
if ! python -c "import distutils" 2> /dev/null; then
# we need setuptools for distutils in Python 3.12+, needed for python setup.py sdist
pip install --upgrade setuptools
fi

# for modules tool
APT_PKGS="lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev"
APT_PKGS="lua5.3 liblua5.3-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)
Expand All @@ -44,12 +51,6 @@ jobs:
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

- name: install modules tool
run: |
# avoid downloading modules tool sources into easybuild-framework dir
Expand Down Expand Up @@ -91,7 +92,7 @@ jobs:
pymajver=$(python -c 'import sys; print(sys.version_info[0])')
pymajminver=$(python -c 'import sys; print(".".join(str(x) for x in sys.version_info[:2]))')
# check patterns in verbose output
for pattern in "^>> Considering .python.\.\.\." "^>> .python. version: ${pymajminver}\.[0-9]\+, which matches Python ${pymajver} version requirement" "^>> 'python' is able to import 'easybuild.framework', so retaining it" "^>> Selected Python command: python \(.*/bin/python\)" "^This is EasyBuild 4\.[0-9.]\+"; do
for pattern in "^>> Considering .python3.\.\.\." "^>> .python3. version: ${pymajminver}\.[0-9]\+, which matches Python ${pymajver} version requirement" "^>> 'python3' is able to import 'easybuild.framework', so retaining it" "^>> Selected Python command: python3 \(.*/bin/python3\)" "^This is EasyBuild 5\.[0-9.]\+"; do
echo "Looking for pattern \"${pattern}\" in eb_version.out..."
grep "$pattern" eb_version.out
done
Expand All @@ -103,7 +104,7 @@ jobs:
for eb_python in "python${pymajver}" "python${pymajminver}"; do
export EB_PYTHON="${eb_python}"
eb --version | tee eb_version.out 2>&1
for pattern in "^>> Considering .${eb_python}.\.\.\." "^>> .${eb_python}. version: ${pymajminver}\.[0-9]\+, which matches Python ${pymajver} version requirement" "^>> '${eb_python}' is able to import 'easybuild.framework', so retaining it" "^>> Selected Python command: ${eb_python} \(.*/bin/${eb_python}\)" "^This is EasyBuild 4\.[0-9.]\+"; do
for pattern in "^>> Considering .${eb_python}.\.\.\." "^>> .${eb_python}. version: ${pymajminver}\.[0-9]\+, which matches Python ${pymajver} version requirement" "^>> '${eb_python}' is able to import 'easybuild.framework', so retaining it" "^>> Selected Python command: ${eb_python} \(.*/bin/${eb_python}\)" "^This is EasyBuild 5\.[0-9.]\+"; do
echo "Looking for pattern \"${pattern}\" in eb_version.out..."
grep "$pattern" eb_version.out
done
Expand Down
33 changes: 15 additions & 18 deletions .github/workflows/end2end.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,36 @@ jobs:
strategy:
matrix:
container:
- centos-7.9
- centos-8.5
- fedora-36
- fedora-41
- opensuse-15.4
- rockylinux-8.8
- rockylinux-9.2
- rockylinux-8.10
- rockylinux-9.5
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-24.04
fail-fast: false
container:
image: ghcr.io/easybuilders/${{ matrix.container }}-amd64
volumes:
- /node20217:/node20217:rw,rshared
- ${{ matrix.container == 'centos-7.9' && '/node20217:/__e/node20:ro,rshared' || ' ' }}
steps:
- name: install nodejs20glibc2.17
if: ${{ matrix.container == 'centos-7.9' }}
run: |
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
- name: Check out the repo
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: download and unpack easyblocks and easyconfigs repositories
run: |
cd $HOME
for pkg in easyblocks easyconfigs; do
curl -OL https://github.com/easybuilders/easybuild-${pkg}/archive/develop.tar.gz
tar xfz develop.tar.gz
rm -f develop.tar.gz
curl -OL https://github.com/easybuilders/easybuild-${pkg}/archive/5.0.x.tar.gz
tar xfz 5.0.x.tar.gz
rm -f 5.0.x.tar.gz
done

- name: Set up environment
shell: bash
run: |
# collect environment variables to be set in subsequent steps in script that can be sourced
echo "export PATH=$PWD:$PATH" > /tmp/eb_env
echo "export PYTHONPATH=$PWD:$HOME/easybuild-easyblocks-develop:$HOME/easybuild-easyconfigs-develop" >> /tmp/eb_env
echo "export PYTHONPATH=$PWD:$HOME/easybuild-easyblocks-5.0.x:$HOME/easybuild-easyconfigs-5.0.x" >> /tmp/eb_env

- name: Run commands to check test environment
shell: bash
Expand All @@ -57,6 +49,7 @@ jobs:
"eb --show-system-info"
"eb --check-eb-deps"
"eb --show-config"
"eb -x bzip2-1.0.8.eb"
)
for cmd in "${cmds[@]}"; do
echo ">>> $cmd"
Expand All @@ -66,4 +59,8 @@ jobs:
- name: End-to-end test of installing bzip2 with EasyBuild
shell: bash
run: |
sudo -u easybuild bash -l -c "source /tmp/eb_env; eb bzip2-1.0.8.eb --trace --robot"
EB_ARGS=''
if [[ "${{ matrix.container }}" == "fedora-41" ]] || [[ "${{ matrix.container }}" == "ubuntu-24.04" ]]; then
EB_ARGS='--filter-deps=binutils'
fi
sudo -u easybuild bash -l -c "source /tmp/eb_env; eb bzip2-1.0.8.eb --trace --robot ${EB_ARGS}"
21 changes: 9 additions & 12 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,19 @@ concurrency:

jobs:
python-linting:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11']

python: [3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
include:
- python: 3.7
os: ubuntu-22.04
fail-fast: false
runs-on: ${{matrix.os || 'ubuntu-24.04'}}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -30,10 +33,4 @@ jobs:

- name: Run flake8 to verify PEP8-compliance of Python code
run: |
# don't check py2vs3/py3.py when testing with Python 2, and vice versa
if [[ "${{ matrix.python-version }}" =~ "2." ]]; then
py_excl=py3
else
py_excl=py2
fi
flake8 --exclude ./easybuild/tools/py2vs3/${py_excl}.py
flake8
Loading
Loading