Skip to content
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

release EasyBuild v5.0.0 #305

Merged
merged 58 commits into from
Mar 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
d9f1320
redirect WRF easyconfig parameters to current content
branfosj Mar 18, 2024
b3e3796
redirect API index to real content
branfosj Mar 18, 2024
26c5970
document generate crates list
branfosj Jan 16, 2025
2823ccf
remember the `
branfosj Jan 16, 2025
63da3b6
Merge pull request #292 from branfosj/crates
SebastianAchilles Jan 16, 2025
a2bb8d9
update installation page for EB5
branfosj Feb 28, 2025
e9977e6
Python compat info
branfosj Feb 28, 2025
22ec0b2
Merge pull request #296 from easybuilders/main
boegel Mar 3, 2025
2855bb1
structure for EB5 documentation
branfosj Mar 5, 2025
595ddd0
more
branfosj Mar 5, 2025
a906cdf
more
branfosj Mar 6, 2025
7ea0155
more
branfosj Mar 6, 2025
123c78e
more
branfosj Mar 6, 2025
2c9e136
more
branfosj Mar 6, 2025
6f86f79
no longer experimental
branfosj Mar 6, 2025
4be007c
hopefully structure complete
branfosj Mar 6, 2025
ddf6107
add dedicated page to document use of `env.sh` and `cmd.sh` functions
boegel Mar 7, 2025
9c47258
replace 'TODO' bullet points on landing page for EasyBuild v5.0 with …
boegel Mar 10, 2025
d0b3d09
Merge pull request #5 from boegel/structure
branfosj Mar 10, 2025
7f96fe5
"Config value 'nav': Expected nav to be a list, got dict with keys ('…
branfosj Mar 10, 2025
b14d520
EB5 menu
branfosj Mar 10, 2025
f90f65f
Update mkdocs.yml
branfosj Mar 10, 2025
c4e2946
mkdocs_autorefs: Multiple primary URLs found for 'installation'
branfosj Mar 10, 2025
e07b375
correct stage name in github action
branfosj Mar 10, 2025
e9fbdc7
update actions
branfosj Mar 10, 2025
6d51e55
correct links
branfosj Mar 10, 2025
b26afd8
add a known issues in EB5 page
branfosj Mar 10, 2025
335e8ca
Update known-issues.md
branfosj Mar 10, 2025
777b6ee
Merge pull request #295 from branfosj/eb5
boegel Mar 12, 2025
e4021ef
Merge branch 'develop' into rst
branfosj Mar 12, 2025
fd7e5a7
complete high-level overview of changes in EasyBuild v5.0.0
boegel Mar 17, 2025
25d0ccf
use fixed comments for all GitHub Actions used in workflows
boegel Mar 17, 2025
9bc9c9e
clean up known issues for installing extensions in parallel: skipping…
boegel Mar 17, 2025
8b7788c
get rid of multiple headings with same content
boegel Mar 17, 2025
3117444
use dashes for unordered list with deprecated `*run*` methods in `Eas…
boegel Mar 17, 2025
bf14228
avoid duplicate 'module_load_environment' reference
boegel Mar 17, 2025
ce4241e
Merge pull request #299 from branfosj/fixes
boegel Mar 17, 2025
0de7783
Merge pull request #298 from branfosj/experimental
boegel Mar 17, 2025
fe53c27
Merge branch 'develop' into structure
boegel Mar 17, 2025
afa5f1a
list software-specific easyblocks that were removed in EasyBuild v5.0.0
boegel Mar 17, 2025
a7026db
Merge pull request #297 from branfosj/structure
boegel Mar 17, 2025
4aa440c
update documentation on reproducible tarballs for EasyBuild 5.0
lexming Mar 17, 2025
2dbb403
replace asterisks with dashes in list
lexming Mar 18, 2025
d7e8f8f
add documentation for module-search-path-headers and MODULE_LOAD_ENV_…
lexming Mar 17, 2025
12ff3e8
add documentation for search-path-cpp-headers
lexming Mar 17, 2025
54f8386
add documentation for search-path-linker
lexming Mar 17, 2025
83d762a
replace asterisks with dashes in list
lexming Mar 18, 2025
e24718d
add python label to fenced code block
lexming Mar 18, 2025
44b7408
Merge pull request #244 from branfosj/rst
boegel Mar 18, 2025
d56ce93
Merge pull request #301 from lexming/cpath-opts
branfosj Mar 18, 2025
2a3531b
Update docs/easybuild-v5/enhancements.md
branfosj Mar 18, 2025
c491213
Merge pull request #300 from lexming/reprod-tarballs
branfosj Mar 18, 2025
b990e69
auto-update docs for EasyBuild v5.0.0
boegel Mar 18, 2025
038c3ff
Merge pull request #302 from boegel/auto_update_docs_eb500
branfosj Mar 18, 2025
de8c34a
add release notes for EasyBuild v5.0.0
boegel Mar 18, 2025
404bde9
Merge pull request #303 from boegel/release_notes_eb500
branfosj Mar 18, 2025
ce960b8
update warning on landing page for EasyBuild v5
boegel Mar 18, 2025
98343f6
Merge pull request #304 from boegel/eb5_landing_page
branfosj Mar 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
fetch-depth: 0

- name: set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: '3.10'

- name: checkout easybuild framework
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
repository: easybuilders/easybuild-framework
path: src/easybuild-framework
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/flake8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
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: '3.10'

- name: flake8 Lint
uses: py-actions/flake8@v2
uses: py-actions/flake8@84ec6726560b6d5bd68f2a5bed83d62b52bb50ba # v2.3.0
4 changes: 2 additions & 2 deletions .github/workflows/markdown-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

- name: MarkdownLint
uses: DavidAnson/markdownlint-cli2-action@v10
uses: DavidAnson/markdownlint-cli2-action@05f32210e84442804257b2a6f20b273450ec8265 # v19.1.0
with:
# all markdown, except filter out {demos,version-specific}/* for now, until we fix issues in those sections
globs: |
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2

with:
fetch-depth: 0

- name: set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: '3.10'

- name: Codespell action
uses: codespell-project/actions-codespell@master
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2.1
with:
check_filenames: true
ignore_words_list: atleast,ninjs,simpy,proovread,namd,precice,crate,ake
Expand All @@ -32,7 +33,7 @@ jobs:
run: python ./.github/workflows/link_check.py

- name: checkout easybuild framework
uses: actions/checkout@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
repository: easybuilders/easybuild-framework
path: src/easybuild-framework
Expand All @@ -43,7 +44,7 @@ jobs:
pip install -r requirements.txt
mkdocs --version

- name: build tutorial
- name: build docs
# can't use --strict due to warnings being produced by mkdocs-redirect plugin
# because we are re-directing .html pages
# run: mkdocs build --strict
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/yamllint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ jobs:
lintAllTheThings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
- name: yaml-lint
uses: ibiqlik/action-yamllint@v3
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1
with:
config_file: .yamllint.yml
14 changes: 0 additions & 14 deletions docs/api/index.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/easybuild-v5/5.0.0beta1.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This includes (but is not limited to):
- **some functionality has been deprecated**, including the use of the `run_cmd` and `run_cmd_qa` functions (`run_shell_cmd` should be used instead);
- easyconfigs using an old [unsupported toolchain](../policies/toolchains.md) have been moved to the [easyconfigs archive](https://github.com/easybuilders/easybuild-easyconfigs-archive);

## Installation
## Installation {: #eb5.0.0beta1_installation }

To install the initial beta release of EasyBuild v5.0.0 (`5.0.0beta1`), you can either:

Expand Down
55 changes: 0 additions & 55 deletions docs/easybuild-v5/changes-in-default-configuration.md

This file was deleted.

209 changes: 209 additions & 0 deletions docs/easybuild-v5/changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# Changed default configuration or behaviour in EasyBuild v5.0

*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*

The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0.

**Changed default configuration in EasyBuild framework**

- [RPATH linking is enabled by default (`--rpath`)][path]
- [Trace output is enabled by default (`--trace`)][trace)]
- [Including `extensions` statement in generated modules is enabled by default (`--module-extensions`)][module-extensions]
- [Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`)][module-depends-on]
- [Use Slurm as default job backend (`--job-backend`)][job-backend]
- [Default maximum build parallelism is set to 16 (`--max-parallel`)][max-parallel-16]

**Changed behaviour in EasyBuild framework**

- [Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`)][dry-run-robot]
- [Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch`][verifying-checksums]
- [Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds`][lib-lib64-symlink]
- [Use `sha256` as the default checksum type][sha256]
- [Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`)][XDG_CONFIG_DIRS_default]
- [Reverse order for parsing files in `$XDG_CONFIG_DIRS`][XDG_CONFIG_DIRS_order]
- [Don't allow unresolved templates in easyconfig parameters by default][unresolved-templates]
- [Refactor `make_extension_string` method in `EasyBlock` class][make_extension_string]
- [Change default for `change_into_dir` option in `extract_file` function to to `False`][extract_file]
- [Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler][toolchain-get-flag-dash]
- [Enforce correct `.patch(.*)` extension for patch files][patch-extension]
- [Run sanity checks commands from an empty temporary directory rather than the software install directory][sanity-check-commands]
- [Only allow use of `rpath` toolchain option when `system` toolchain is used][system-toolchain-options]

**Changed defaults in easyblocks**

- [`download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations][python-pkgs-defaults]
- [`CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default][cmakemake-libdir]

---

## RPATH linking is enabled by default (`--rpath`) {: #rpath }

[RPATH linking][rpath_support] is enabled by default in EasyBuild v5.0.

The benefits for enabling RPATH are explained in [Why RPATH?][rpath_support_why].

This enhancement **does not** add any filtering of environment variables. This means `$LD_LIBRARY_PATH`
will continue to be appended by the environment module files EasyBuild generates,
unless it is configured to filter these variables (via `--filter-env-vars`,
see also [Relation to `$LD_LIBRARY_PATH`][rpath_support_LD_LIBRARY_PATH]).

The RPATH part of the EasyBuild sanity check has been relaxed (by default,
to allow for installing software that uses RPATH linking on top of existing software installations that do not use RPATH.
The RPATH sanity check can be made strict again via the `strict-rpath-sanity-check` EasyBuild configuration setting.

To disable RPATH linking, either:

- Use the `--disable-rpath` command line option;
- Set the `$EASYBUILD_DISABLE_RPATH` environment variable;
- Disable RPATH linking in an EasyBuild [configuration file](../configuration.md#configuration_file):

``` ini
[override]
rpath=0
```

---

## Trace output is enabled by default (`--trace`) {: #trace }

The [`--trace` option](../tracing-progress.md) is enabled by default.

This makes the output produced by the `eb` command more informative, by providing more information about what's going on in the background.

To disable trace output, either:

- Use the `--disable-trace` command line option;
- Set the `$EASYBUILD_DISABLE_TRACE` environment variable;
- Disable trace mode in a [configuration file](../configuration.md#configuration_file):

``` ini
[override]
trace=0
```

---

## Including `extensions` statement in generated modules is enabled by default (`module-extensions`) {: #module-extensions }

*(more info soon)*

---

## Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`) {: #module-depends-on }

*(more info soon)*

---

## Use Slurm as default job backend (`job-backend`) {: #job-backend }

*(more info soon)*


---

## Default maximum build parallelism is set to 16 (`max-parallel`) {: #max-parallel-16 }

*(more info soon, ideally including some "scaling" data for long-running builds like GCC, LLVM, OpenFOAM, ...)*

---

## Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`) {: #dry-run-robot }

*(more info soon)*

---

## Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch` {: #verifying-checksums }

*(more info soon)*

---

## Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds` {: #lib-lib64-symlink }

*(more info soon)*

---

## Use `sha256` as the default checksum type {: #sha256 }

The default checksum type, used in EasyConfigs, is now set to `sha256`.

We have also [deprecated the older checksums types](deprecated-functionality.md#checksums).

---

## Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`) {: #XDG_CONFIG_DIRS_default }

*(more info soon)*

---


## Reverse order for parsing files in `$XDG_CONFIG_DIRS` {: #XDG_CONFIG_DIRS_order }

*(more info soon)*

---

## Don't allow unresolved templates in easyconfig parameters by default {: #unresolved-templates }

*(more info soon, incl. support for `allow-unresolved-templates` configuration setting)*

---

## Refactor `make_extension_string` method in `EasyBlock` class {: #make_extension_string }

*(more info soon)*

---

## Change default for `change_into_dir` option in `extract_file` function to to `False` {: #extract_file }

*(more info soon)*

---


## Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler {: #toolchain-get-flag-dash }

*(more info soon)*

---

## Enforce correct `.patch(.*)` extension for patch files {: #changes.md#patch-extension }

*(more info soon)*

---


## Run sanity checks commands from an empty temporary directory rather than the software install directory { : #sanity-check-commands }

*(more info soon)*

---

## Only allow use of `rpath` toolchain option when `system` toolchain is used {: #system-toolchain-options }

*(more info soon)*

---

## `download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations { : #python-pkgs-defaults }

The `download_dep_fail`, `use_pip`, and `sanity_pip_check` easyconfig parameters are now enabled by default
in the `PythonPackage` and `PythonBundle` generic easyblocks (and the easyblocks that derive from them).

This means that these should no longer be explicitly set to `True` in easyconfig files using these easyblocks.

---

## `CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default { : #cmakemake-libdir }

The generic `CMakeMake` easyblock will use `-DCMAKE_INSTALL_LIBDIR=lib` by default as option to the `cmake` command.
Easyconfig files that specify this via `configopts` should be adjusted accordingly.

A custom easyconfig parameter named `install_libdir` has been added to `CMakeMake` to specify a custom value should that
be required.
Loading