Skip to content

Support spack.repos section in manifests - #317

Merged
CodeGat merged 4 commits into
v4from
312-repos-section
Aug 26, 2026
Merged

CodeGat merged 4 commits into
v4from
312-repos-section

Conversation

@CodeGat

@CodeGat CodeGat commented Aug 25, 2026

Copy link
Copy Markdown
Member

Closes #312
Related to ACCESS-NRI/build-cd#404

Important

This is a major-level change to the build-ci infrastructure, due to the removal of entrypoint workflow inputs inputs.*-spack-packages-ref. CRs will need to be updated to support this change if they specified those inputs.

Background

Similar to the above issue, now that we are using spack > 1.0, we can leverage Spack to handle cloning of git-based repositories, rather than having our own infra do it.

Unlike build-cd, which requires access-spack-packages to be defined (and hence a spack.repos section at all), build-ci is a bit more lax - if versions for access-spack-packages or builtin are not specified, we will take whatever is defined in spack-config (currently the branches api-v2 and access/v1.1 respectively). However, due to the magic of included configuration (see up the stack), the spack.repos section will always be defined.

If either are specified in the manifest, we will clone those repos under $env/package-repos (similar to build-cd) and they will be used instead.

The PR

  • ci.yml: Remove inputs.*-spack-packages-ref
  • Delete git-checkout-updated-ref, spack-checkout-updated-ref actions
  • README.md: Remove references to inputs.*-spack-packages-ref

Updates required for CRs

Testing

Note

This testing is no longer relevant after f212a89, but it does show that it indeed clones the correct repos.

All were tested in ACCESS-NRI/MOM6#74, with each of the below cases being a particular manifest in ACCESS-NRI/MOM6@5d7f56c

MOM6, No spack.repos Section (oneapi_access-om3_asymm.spack.yaml.j2)

Success, updated the access-spack-packages and builtin - see https://github.com/ACCESS-NRI/MOM6/actions/runs/32921190984/job/98035370629?pr=74#step:20:1 and how the next two steps ran as expected.

MOM6, spack.repos Section Specifying accesss-spack-packages (oneapi_access-om3_symm.spack.yaml.j2)

Success, cloned the access-spack-packages repo and updated the builtin - see https://github.com/ACCESS-NRI/MOM6/actions/runs/32921190984/job/98035370566?pr=74#step:20:1.

MOM6, spack.repos Section Specifying builtin (oneapi_mom6_access3.spack.yaml.j2)

Success, cloned the builtin repo and updated the access-spack-packages - see https://github.com/ACCESS-NRI/MOM6/actions/runs/32921190984/job/98035370547?pr=74#step:20:1.

MOM6, spack.repos Section Specifying access-spack-packages, builtin (oneapi_mom6_solo.spack.yaml.j2)

Success, cloned both. See https://github.com/ACCESS-NRI/MOM6/actions/runs/32921190984/job/98035370557?pr=74#step:20:1, and how neither of the steps ran, as expected

@CodeGat CodeGat added priority:medium A medium priority issue - has some impact on functionality type:enhancement improvements to code but not new features for:v4 version:MAJOR Requires a change to the major version - breaking changes! labels Aug 25, 2026
@CodeGat CodeGat self-assigned this Aug 25, 2026
@CodeGat
CodeGat changed the base branch from v3 to v4 August 25, 2026 06:50
@CodeGat
CodeGat force-pushed the 312-repos-section branch 3 times, most recently from 64e7987 to a7ec54e Compare August 26, 2026 01:40
@CodeGat
CodeGat force-pushed the 312-repos-section branch from a7ec54e to 6b33740 Compare August 26, 2026 01:46
@CodeGat

CodeGat commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

This works, but there is a pretty significant slowdown when we update the builtin, due to the spack repo update followed by the manual fetch...see https://github.com/ACCESS-NRI/MOM6/actions/runs/32921190984/job/98035370629?pr=74#step:22:226 for example. Almost 1 1/2 minutes! I'll look into it

@CodeGat

CodeGat commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

After chatting with @aidanheerdegen, I note that we can get around the long update times for the image by always having a spack.repos section - in the spack.include section, in access-spack-packages! In this way, we would not need to have steps to update the on-image repos at all, and potentially not have those repos included in the image at all.

@CodeGat
CodeGat marked this pull request as ready for review August 26, 2026 03:50
@CodeGat
CodeGat requested a review from aidanheerdegen August 26, 2026 03:53

@aidanheerdegen aidanheerdegen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

for:v4 priority:medium A medium priority issue - has some impact on functionality type:enhancement improvements to code but not new features version:MAJOR Requires a change to the major version - breaking changes!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider an explicit spack.repos section in manifests as opposed to inputs.*-spack-packages-ref

2 participants