You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3) Check out the branch that corresponds to the version of EESSI repository you want to add software to,
44
-
for example `2023.06-software.eessi.io`:
43
+
3) Make sure that you are on the `main` branch:
45
44
46
45
```
47
-
git checkout 2023.06-software.eessi.io
46
+
git checkout main
48
47
```
49
48
50
49
!!! note
51
50
The commands above only need to be run once, to prepare your setup for making pull requests.
52
51
52
+
!!! info "Changes to [EESSI/software-layer](https://github.com/EESSI/software-layer)"
53
+
54
+
On 2025-06-11 the [EESSI/software-layer](https://github.com/EESSI/software-layer) repository was split to primarily include easystack files necessary for triggering builds. Most scripts needed to build the software have been moved to the new
55
+
repository [EESSI/software-layer-scripts](https://github.com/EESSI/software-layer-scripts). In addition,
56
+
installations to particular EESSI versions are no longer tracked by branches in
57
+
[EESSI/software-layer](https://github.com/EESSI/software-layer) (e.g., the old `2023.06-software.eessi.io` branch), but
58
+
by editing or creating the easystack file in the corresponding directory (e.g., `easystacks/software.eessi.io/2023.06/` to
59
+
target version `2023.06`).
60
+
53
61
### Creating a pull request {: #software_layer_pull_request }
54
62
55
-
1) Make sure that your `2023.06-software.eessi.io` branch in the checkout of the
63
+
1) Make sure that your `main` branch in the checkout of the
56
64
[`EESSI/software-layer`](https://github.com/EESSI/software-layer) repository is up-to-date
57
65
58
66
```
59
67
cd EESSI/software-layer
60
-
git checkout 2023.06-software.eessi.io
61
-
git pull origin 2023.06-software.eessi.io
68
+
git checkout main
69
+
git pull origin main
62
70
```
63
71
64
72
2) Create a new branch (use a sensible name, not `example_branch` as below), and check it out
3) Determine the correct easystack file to change, and add one or more lines to it that specify which
71
-
easyconfigs should be installed
79
+
easyconfigs should be installed. Make sure that the easystack file is in the correct subdirectory. The structure should be `easystacks/software.eessi.io/<eessi_version>/eessi-<eessi_version>/eb-<eb_version>-<toolchain_version>.yml`:
Note that the naming scheme is standardized and should be `eessi-<eessi_version>-eb-<eb_version>-<toolchain_version>.yml`. See the [official EasyBuild documentation on easystack files](https://docs.easybuild.io/easystack-files/) for more information on the syntax.
77
85
78
86
4) Stage and commit the changes into your your branch with a sensible message
git commit -m "{2023.06}[GCC/12.3.0] example 1.2.3"
83
91
```
84
92
@@ -91,20 +99,16 @@ git push koala example_branch
91
99
6) Go to the [GitHub web interface](https://github.com/EESSI/software-layer) to open your pull request,
92
100
or use the helpful link that should show up in the output of the `git push` command.
93
101
94
-
**Make sure you target the correct branch**: the one that corresponds to the version of EESSI you want to add
95
-
software to (like `2023.06-software.eessi.io`).
96
-
97
-
If all goes well, one or more bots :robot: should almost instantly create a comment in your pull request
98
-
with an overview of how it is configured - you will need this information when providing build instructions.
102
+
**Make sure you target the `main` branch.**
99
103
100
104
### Rebuilding software {: #rebuilding_software }
101
-
We typically do not rebuild software, since (strictly speaking) this breaks reproducibility for anyone using the software. However, there are certain situations in which it is difficult or impossible to avoid.
105
+
We typically do not rebuild software, since (strictly speaking) this breaks reproducibility for anyone using it. However, there are certain situations in which it is difficult or impossible to avoid.
102
106
103
-
To do a rebuild, you add the software you want to rebuild to a dedicated easystack file in the `rebuilds` directory. Use the following naming convention: `YYYYMMDD-eb-<EB_VERSION>-<APPLICATION_NAME>-<APPLICATION_VERSION>-<SHORT_DESCRIPTION>.yml`, where `YYYYMMDD` is the opening date of your PR. E.g. `2024.05.06-eb-4.9.1-CUDA-12.1.1-ship-full-runtime.yml` was added in a PR on the 6th of May 2024 and used to rebuild CUDA-12.1.1 using EasyBuild 4.9.1 to resolve an issue with some runtime libraries missing from the initial CUDA 12.1.1 installation.
107
+
To do a rebuild, you add the software you want to rebuild to a dedicated easystack file in the `rebuilds`subdirectory inside each version's directory. Use the following naming convention: `YYYYMMDD-eb-<EB_VERSION>-<APPLICATION_NAME>-<APPLICATION_VERSION>-<SHORT_DESCRIPTION>.yml`, where `YYYYMMDD` is the opening date of your PR. E.g. `20240506-eb-4.9.1-CUDA-12.1.1-ship-full-runtime.yml` was added in a PR on the 6th of May 2024 and used to rebuild CUDA-12.1.1 using EasyBuild 4.9.1 to resolve an issue with some runtime libraries missing from the initial CUDA 12.1.1 installation.
104
108
105
109
At the top of your easystack file, please use comments to include a short description, and make sure to include any relevant links to related issues (e.g. from the GitHub repositories of EESSI, EasyBuild, or the software you are rebuilding).
106
110
107
-
As an example, consider the full easystack file (`2024.05.06-eb-4.9.1-CUDA-12.1.1-ship-full-runtime.yml`) used for the aforementioned CUDA rebuild:
111
+
As an example, consider the full easystack file (`20240506-eb-4.9.1-CUDA-12.1.1-ship-full-runtime.yml`) used for the aforementioned CUDA rebuild:
0 commit comments