Skip to content

Commit f467e33

Browse files
authored
Merge pull request EESSI#501 from Neves-P/update/open-pr
Update adding new software instructions after splitting software-layer and software-layer-scripts
2 parents 8f3214e + 24b7cfe commit f467e33

2 files changed

Lines changed: 23 additions & 19 deletions

File tree

docs/adding_software/building_software.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ Once the ingestion has been done, simply re-triggering the CI workflow should be
6161

6262
!!! note
6363
This assumes that the easystack file being modified is considered by the CI workflow file
64-
(`.github/workflows/test_eessi.yml`) that checks for missing installations, in the correct branch (for example
65-
`2023.06`) of the [software-layer](https://github.com/EESSI/software-layer).
64+
(`.github/workflows/test_eessi.yml`) that checks for missing installations, in the `main` branch of the
65+
[software-layer](https://github.com/EESSI/software-layer).
6666

6767
If that's not the case yet, update this workflow in your pull request as well to add the missing easystack file!
6868

docs/adding_software/opening_pr.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,33 @@ cd software-layer
4040
git remote add koala git@github.com:koala/software-layer.git
4141
```
4242

43-
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:
4544

4645
```
47-
git checkout 2023.06-software.eessi.io
46+
git checkout main
4847
```
4948

5049
!!! note
5150
The commands above only need to be run once, to prepare your setup for making pull requests.
5251

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+
5361
### Creating a pull request {: #software_layer_pull_request }
5462

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
5664
[`EESSI/software-layer`](https://github.com/EESSI/software-layer) repository is up-to-date
5765

5866
```
5967
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
6270
```
6371

6472
2) Create a new branch (use a sensible name, not `example_branch` as below), and check it out
@@ -68,17 +76,17 @@ git checkout -b example_branch
6876
```
6977

7078
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`:
7280

7381
```shell
74-
echo ' - example-1.2.3-GCC-12.3.0.eb' >> easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.8.2-2023a.yml
82+
echo ' - example-1.2.3-GCC-12.3.0.eb' >> easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.1-2023a.yml
7583
```
7684
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.
7785

7886
4) Stage and commit the changes into your your branch with a sensible message
7987

8088
```shell
81-
git add easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.8.2-2023a.yml
89+
git add easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.1.1-2023a.yml
8290
git commit -m "{2023.06}[GCC/12.3.0] example 1.2.3"
8391
```
8492

@@ -91,20 +99,16 @@ git push koala example_branch
9199
6) Go to the [GitHub web interface](https://github.com/EESSI/software-layer) to open your pull request,
92100
or use the helpful link that should show up in the output of the `git push` command.
93101

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.**
99103

100104
### 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.
102106

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.
104108

105109
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).
106110

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:
108112

109113
```yaml
110114
# 2024.05.06

0 commit comments

Comments
 (0)