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

Update ci spack-config for multi-container CI builds #55

Merged
merged 3 commits into from
Mar 3, 2025

Conversation

CodeGat
Copy link
Member

@CodeGat CodeGat commented Mar 3, 2025

References ACCESS-NRI/build-ci#194

Background

The current setup for CI 2.0 is that we will have a container that contains an upstream instance of spack with all the compilers (and possible low-level packages) that are needed, in order to speed up build times.
This container will connect to runner (downstream) instances of spack, which can use the compilers without needing to build or install them.

Hence we need to demarcate the two different use-cases for ci - one for upstream, and one for the runners (downstream). Here are the changes:

Upstream

  • config.yaml - the install_tree for upstream will be /opt/upstream
  • modules.yaml - the modules directories will be opt/upstream/modules/opt/upstream/lmod

Runners (downstream)

  • upstreams.yaml - The upstream install_tree will be found in /opt/upstream, which (implementation details alert) is a mounted volume in the runner containers, pointing to the upstream /opt/upstream referenced above.

Open Question

  • @harshula, I was considering deleting v0.22/ci/*.yaml since it may not be used once this docker compose solution is set up. Is it okay if I delete them?
    • No
  • Do we need to set this up for ci/v0.20/ci/v0.21 as well...?
  • Should this PR be going into development rather than main

The PR

  • For ci/upstream, make install_tree/modules reference /opt/upstream
  • For ci/runner, set upstream install_tree to be /opt/upstream
  • Add symlinked v0.22/ci/upstream config
  • Add symlinked v0.22/ci/runner config

@CodeGat CodeGat added the enhancement New feature or request label Mar 3, 2025
@CodeGat CodeGat self-assigned this Mar 3, 2025
@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

Hi @CodeGat , Please don't delete anything in */ci/. It's used as the starting config for new systems. e.g. Leonardo.

@CodeGat
Copy link
Member Author

CodeGat commented Mar 3, 2025

Ah, so not just for the build-ci and build-cd systems?

@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

We may need to rename ci after your changes are done.

@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

Hi @CodeGat , Can we go with:

v0.22/ci
v0.22/gadi
v0.22/runner
v0.22/upstream

@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

Also, as required:

common/ci
common/gadi
common/runner
common/upstream

@CodeGat
Copy link
Member Author

CodeGat commented Mar 3, 2025

Hmmm, I would like to demarcate that runner and upstream are linked together as they are part of the build-ci system, is there any other way we can do such a thing, then? build-ci/runner and build-ci/upstream?

@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

What about ci-runner and ci-upstream?

@CodeGat
Copy link
Member Author

CodeGat commented Mar 3, 2025

That works for me. I'll update the PR.

@CodeGat
Copy link
Member Author

CodeGat commented Mar 3, 2025

What do I do with linking to common/ci/packages.yaml? Should that be copied to ci-upstream/ci-runner?

@CodeGat CodeGat force-pushed the build-ci-194-ci-containers branch 3 times, most recently from 695fc91 to c8e96af Compare March 3, 2025 04:38
@CodeGat CodeGat closed this Mar 3, 2025
@CodeGat CodeGat force-pushed the build-ci-194-ci-containers branch from c8e96af to 9dd165f Compare March 3, 2025 04:50
@CodeGat CodeGat reopened this Mar 3, 2025
@harshula
Copy link
Collaborator

harshula commented Mar 3, 2025

Linking common/ci/packages.yaml in ci-runner/ci-upstream should be fine.

@CodeGat CodeGat merged commit 88a0700 into main Mar 3, 2025
@CodeGat CodeGat deleted the build-ci-194-ci-containers branch March 3, 2025 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done ✅
Development

Successfully merging this pull request may close these issues.

2 participants