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

Add intial documentation on dev.eessi.io #321

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

Neves-P
Copy link
Member

@Neves-P Neves-P commented Oct 10, 2024

This PR adds information on the dev.eessi.io CVMFS repository and basic usage wrt building and deploying software to dev.eessi.io.

This information will likely change in the future as the repo matures, but this should already provide a brief overview of the basic functionality.

docs/repositories/dev.eessi.io.md Outdated Show resolved Hide resolved
docs/repositories/dev.eessi.io.md Outdated Show resolved Hide resolved
`dev.eessi.io` is the development repository of EESSI. With it, developers can build and deploy non-production ready versions of their software to a CernVM-FS repository.
This way, development version can easily be tested on systems where `dev.eessi.io` is available.

On a system with `dev.eessi.io` mounted access is possible with `module use /cvmfs/dev.eessi.io/versions/2023.06/modules/all`. Then, all that is left is
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will change when we use subdirectories for projects

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact, we probably (eventually) want a small custom init script for dev.eessi.io which:

  • prints a warning (something like "installations in dev.eessi.io are not for production use, only for testing");
  • sets up the environment for software.eessi.io;
  • sets up the environment for a specific (set of) projects in dev.eessi.io;


## What is `dev.eessi.io`?

`dev.eessi.io` is the development repository of EESSI. With it, developers can build and deploy non-production ready versions of their software to a CernVM-FS repository. This way, development version can easily be tested on systems where `dev.eessi.io` is available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should just point to repositories/dev.eessi.io.md


## Adding software

Using `dev.eessi.io` is similar to using EESSI's production repository `software.eessi.io`. Software builds are triggered by a bot listening to pull requests in GitHub repository (at the moment https://github.com/EESSI/dev.eessi.io). This repository is organised by project, where corresponding easystack files and easyconfig files are placed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll probably ends up with separate repos per project, so point to https://github.com/search?q=org%3AEESSI+dev.eessi.io&type=repositories ?

docs/adding_software/adding_development_software.md Outdated Show resolved Hide resolved
### Easystack files and triggering builds

After the easyconfig file has been created and added to `projectX/easyconfigs`, an easystack file that picks it up
needs to be in place. This easystack file must follow a naming convention: `software-eb-X.Y.Z-dev.yml`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make the part about the filename a note that pops out a bit (see https://squidfunk.github.io/mkdocs-material/reference/admonitions/#usage)

software-commit: 2ba17de6096933275abec0550981d9122e4e5f28 # release 4.2.2
```

The `ESPResSo-4.2.2-foss-2023a-software-commit.eb` would be the easyconfig file added in the step above.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename to ESPResSo-devel-foss-2023a.eb ?

Note the option passing the `software-commit` for the development version that should be built.
For the sake of this example, the chosen commit actually corresponds to the 4.2.2 release.

To trigger a build, all one needs to do is open a PR with the changes adding the easyconfig and easystack
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, refer to bot docs


Once a build is complete and the `bot:deploy` label is added, a staging PR can be merged to deploy the
application to the `dev.eessi.io` cvmfs repository. On a system with `dev.eessi.io` mounted, then all
that is left is to `module use /cvmfs/dev.eessi.io/versions/2023.06/modules/all` and try out the software!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

module use needs project subdir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants