Skip to content

Commit 22ec0b2

Browse files
authored
Merge pull request #296 from easybuilders/main
sync changes from `main`
2 parents 63da3b6 + 0b56378 commit 22ec0b2

File tree

2 files changed

+107
-17
lines changed

2 files changed

+107
-17
lines changed

docs/easybuild-v5/5.0.0beta1.md

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Beta release `5.0.0beta1` (24 Dec 2024)
2+
3+
!!! danger
4+
This is an older beta release of EasyBuild v5.0.0,
5+
which should no longer be used.
6+
7+
Use [EasyBuild v5.0.0beta2](release-candidates.md#beta2) instead.
8+
9+
!!! warning
10+
This is an early pre-release that includes the majority of changes that will be included
11+
in EasyBuild v5.0.0.
12+
13+
It can be used for testing and providing feedback (reporting bugs or unexpected behaviour, etc.).
14+
15+
Additional changes can still be made before the release of EasyBuild v5.0.0, [see below][beta1_planned_changes].
16+
17+
## Highlighted changes
18+
19+
EasyBuild v5.0.0 will include some significant changes compared to EasyBuild v4.x.
20+
21+
Some of those changes are internal improvements and will be invisible to most users, but many others may need special attention
22+
as they incorporate new features, changes of behavior or deprecations that can impact your workflow.
23+
24+
This includes (but is not limited to):
25+
26+
- **Python >= 3.6** is required to run EasyBuild (Python >= 3.9 is recommended);
27+
- using **Lmod >= v8.0** or **Environment Modules >= v4.3.0** is required as modules tool (check with `module --version`);
28+
- a new function named `run_shell_cmd` is used to run shell commands like `cmake`, `make`, `pip`, etc. (more info [here](run_shell_cmd.md));
29+
- the **default setting of some configuration options has changed**:
30+
- **RPATH linking** is used by default (can be disabled with `--disable-rpath`);
31+
- **trace output** is enabled by default (can be disabled with `--disable-trace`);
32+
- Lua module files generated by EasyBuild will by default:
33+
- use `depends_on` rather than `load` (can be disabled with `--disable-module-depends-on`);
34+
- include an `extensions` statement to expose the list of included extensions (can be disabled with `--disable-module-extensions`);
35+
- reproducible creation of source tarballs from Git repositories via `git_config` in `sources` easyconfig parameter (when using Python >= 3.9);
36+
- the `use_pip` and `sanity_pip_check` custom easyconfig parameters used by the `PythonPackage` and `PythonBundle` easyblocks are enabled by default;
37+
- **some functionality has been deprecated**, including the use of the `run_cmd` and `run_cmd_qa` functions (`run_shell_cmd` should be used instead);
38+
- easyconfigs using an old [unsupported toolchain](../policies/toolchains.md) have been moved to the [easyconfigs archive](https://github.com/easybuilders/easybuild-easyconfigs-archive);
39+
40+
## Installation
41+
42+
To install the initial beta release of EasyBuild v5.0.0 (`5.0.0beta1`), you can either:
43+
44+
- use the [provided easyconfig file](https://github.com/easybuilders/easybuild-easyconfigs/pull/22049), for example using:
45+
46+
```shell
47+
eb --from-pr 22049
48+
```
49+
50+
- install into a Python virtual environment:
51+
52+
```shell
53+
venv_name='venv-eb-5.0.0beta1'
54+
python3 -m venv ${venv_name}
55+
unset PYTHONPATH
56+
source ${venv_name}/bin/activate
57+
58+
tag='5.0.0beta1'
59+
pip install https://github.com/easybuilders/easybuild-framework/archive/easybuild-framework-v${tag}.tar.gz
60+
pip install https://github.com/easybuilders/easybuild-easyblocks/archive/easybuild-easyblocks-v${tag}.tar.gz
61+
pip install https://github.com/easybuilders/easybuild-easyconfigs/archive/easybuild-easyconfigs-v${tag}.tar.gz
62+
# optional dependencies for EasyBuild
63+
pip install archspec rich
64+
```
65+
66+
## Planned additional changes {: #beta1_planned_changes }
67+
68+
A couple of additional changes that will be included in EasyBuild v5.0.0 are still a work-in-progress,
69+
including (but not limited to):
70+
71+
- deprecating of `module_req_guess` method (see [framework PR #4653](https://github.com/easybuilders/easybuild-framework/pull/4653));
72+
- deprecating of `parallel` easyconfig parameter (see [framework PR #4580](https://github.com/easybuilders/easybuild-framework/pull/4580));
73+
74+
For a complete overview of planned changes, see the [GitHub dashboard for EasyBuild v5.0](https://github.com/orgs/easybuilders/projects/18/views/2).

docs/easybuild-v5/release-candidates.md

+33-17
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
# Beta releases and release candidates for EasyBuild v5.0
22

33
Due to the large amount of changes in the upcoming EasyBuild v5.0 release,
4-
we will tag a couple of beta releases and release candidates before releasing EasyBuild v5.0.0.
4+
we will tag a couple of pre-releases before releasing EasyBuild v5.0.0.
55

66
**Please consider testing these and providing feedback!**
77

8-
## Beta release `5.0.0beta1` (24 Dec 2024)
8+
## Beta release `5.0.0beta2` (24 Feb 2025) {: #beta2 }
99

1010
!!! warning
11-
This is an early pre-release that includes the majority of changes that will be included
11+
This is a pre-release that includes the majority of changes that will be included
1212
in EasyBuild v5.0.0.
1313

1414
It can be used for testing and providing feedback (reporting bugs or unexpected behaviour, etc.).
1515

16-
Additional changes can still be made before the release of EasyBuild v5.0.0, [see below][beta1_planned_changes].
16+
Additional changes can still be made before the release of EasyBuild v5.0.0, [see below][beta2_planned_changes].
1717

1818
### Highlighted changes
1919

@@ -27,52 +27,62 @@ This includes (but is not limited to):
2727
- **Python >= 3.6** is required to run EasyBuild (Python >= 3.9 is recommended);
2828
- using **Lmod >= v8.0** or **Environment Modules >= v4.3.0** is required as modules tool (check with `module --version`);
2929
- a new function named `run_shell_cmd` is used to run shell commands like `cmake`, `make`, `pip`, etc. (more info [here](run_shell_cmd.md));
30+
- reproducible creation of source tarballs from Git repositories via `git_config` in `sources` easyconfig parameter (when using Python >= 3.9);
31+
- additional configuration options (`module-search-path-headers` and `search-path-cpp-headers`) to control which paths are used to specify the location of header files;
32+
- the `module_load_environment` variable in easyblocks to specify which environment variables should be updated by the generated environment module file;
3033
- the **default setting of some configuration options has changed**:
3134
- **RPATH linking** is used by default (can be disabled with `--disable-rpath`);
3235
- **trace output** is enabled by default (can be disabled with `--disable-trace`);
3336
- Lua module files generated by EasyBuild will by default:
3437
- use `depends_on` rather than `load` (can be disabled with `--disable-module-depends-on`);
3538
- include an `extensions` statement to expose the list of included extensions (can be disabled with `--disable-module-extensions`);
36-
- reproducible creation of source tarballs from Git repositories via `git_config` in `sources` easyconfig parameter (when using Python >= 3.9);
3739
- the `use_pip` and `sanity_pip_check` custom easyconfig parameters used by the `PythonPackage` and `PythonBundle` easyblocks are enabled by default;
38-
- **some functionality has been deprecated**, including the use of the `run_cmd` and `run_cmd_qa` functions (`run_shell_cmd` should be used instead);
40+
- **some functionality has been deprecated**, including:
41+
- `run_cmd` and `run_cmd_qa` functions (`run_shell_cmd` should be used instead);
42+
- `make_module_req_guess` method in easyblocks (`module_load_environment` should be used instead);
43+
- `parallel` easyconfig parameter (`maxparallel` easyconfig parameter or `parallel` property in easyblocks should be used instead);
3944
- easyconfigs using an old [unsupported toolchain](../policies/toolchains.md) have been moved to the [easyconfigs archive](https://github.com/easybuilders/easybuild-easyconfigs-archive);
4045

4146
### Installation
4247

43-
To install the initial beta release of EasyBuild v5.0.0 (`5.0.0beta1`), you can either:
48+
To install the 2nd beta release of EasyBuild v5.0.0 (`5.0.0beta2`), you can either:
4449

45-
- use the [provided easyconfig file](https://github.com/easybuilders/easybuild-easyconfigs/pull/22049), for example using:
50+
- use the [provided easyconfig file](https://github.com/easybuilders/easybuild-easyconfigs/pull/22385), for example using:
4651

4752
```shell
48-
eb --from-pr 22049
53+
eb --from-pr 22385
4954
```
5055

5156
- install into a Python virtual environment:
5257

5358
```shell
54-
venv_name='venv-eb-5.0.0beta1'
59+
tag='5.0.0beta2'
60+
61+
venv_name="venv-eb-${tag}"
5562
python3 -m venv ${venv_name}
5663
unset PYTHONPATH
5764
source ${venv_name}/bin/activate
5865
59-
tag='5.0.0beta1'
6066
pip install https://github.com/easybuilders/easybuild-framework/archive/easybuild-framework-v${tag}.tar.gz
6167
pip install https://github.com/easybuilders/easybuild-easyblocks/archive/easybuild-easyblocks-v${tag}.tar.gz
6268
pip install https://github.com/easybuilders/easybuild-easyconfigs/archive/easybuild-easyconfigs-v${tag}.tar.gz
6369
# optional dependencies for EasyBuild
6470
pip install archspec rich
6571
```
6672

67-
### Planned additional changes {: #beta1_planned_changes }
73+
### Planned additional changes {: #beta2_planned_changes }
6874

6975
A couple of additional changes that will be included in EasyBuild v5.0.0 are still a work-in-progress,
7076
including (but not limited to):
7177

72-
- deprecating of `module_req_guess` method (see [framework PR #4653](https://github.com/easybuilders/easybuild-framework/pull/4653));
73-
- deprecating of `parallel` easyconfig parameter (see [framework PR #4580](https://github.com/easybuilders/easybuild-framework/pull/4580));
78+
- avoid hardcoding of `'CPATH'` in `modextrapaths` in easyconfig files, take into account `module-search-path-headers` configuration setting
79+
to determine whether `$CPATH` or `$_INCLUDE_PATH`/`$CPLUS_INCLUDE_PATH`/`$INCLUDE` should be updated by the generated
80+
module file;
81+
- enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (see [easyblocks PR #3373](https://github.com/easybuilders/easybuild-easyblocks/pull/3373));
82+
- add support for copying build log and build directory to a permanent location after installation failure (see
83+
[framework PR #4601](https://github.com/easybuilders/easybuild-framework/pull/4601));
7484

75-
For a complete overview of planned changed, see the [GitHub dashboard for EasyBuild v5.0](https://github.com/orgs/easybuilders/projects/18/views/2).
85+
For a complete overview of planned changes, see the [GitHub dashboard for EasyBuild v5.0](https://github.com/orgs/easybuilders/projects/18/views/2).
7686

7787
### Providing feedback & reporting problems
7888

@@ -92,7 +102,13 @@ You should include:
92102

93103
Also positive feedback is welcome!
94104

95-
### FAQ
105+
## Beta release `5.0.0beta1` *(obsolete)*
106+
107+
For more information on the now obsolete `5.0.0beta1` release,
108+
[see the dedicated page for it](5.0.0beta1.md).
109+
110+
111+
## FAQ
96112

97113
- *Do I need to reinstall all software that was installed with EasyBuild v4.x when I want to start using EasyBuild v5.x?*
98-
No, you do not. You can install additional software using EasyBuild v5.x on top of installations performed with EasyBuild v4.x.
114+
**No, you do not.** You can install additional software using EasyBuild v5.x on top of installations performed with EasyBuild v4.x.

0 commit comments

Comments
 (0)