Skip to content

This PR uses pre-built dependencies for asics runner#291

Open
jacobmerson wants to merge 3 commits intoSCOREC:developfrom
jacobmerson:cached-self-hosted-runner
Open

This PR uses pre-built dependencies for asics runner#291
jacobmerson wants to merge 3 commits intoSCOREC:developfrom
jacobmerson:cached-self-hosted-runner

Conversation

@jacobmerson
Copy link
Collaborator

The current CI workflow is very expensive because it rebuilds lots of dependencies from scratch. To help alleviate this process, this PR makes use of pre-built dependencies (see #290). The risk of this change is if the dependencies do not get maintained on the SCOREC system, or if they become out of date with the rest of the CI infrastructure. However, since multiple folks use these dependencies on SCOREC, they will hopefully be maintained.

@cwsmith @Sichao25 you may want to comment on the pitfalls of this approach.

The current CI workflow is very expensive because it rebuilds lots of
dependencies from scratch. To help alleviate this process, this PR makes
use of pre-built dependencies (see SCOREC#290). The risk of this change is if
the dependencies do not get maintained on the SCOREC system, or if they
become out of date with the rest of the CI infrastructure. However,
since multiple folks use these dependencies on SCOREC, they will
hopefully be maintained.
@jacobmerson
Copy link
Collaborator Author

For testing this PR, I had to make /users/mersoj2 chmod o+x. The pre-built stuff should be hosted in /space/, or in the /projects directory before merging. Not ideal for CI to be able to arbitrarily list someone's home directory.

@jacobmerson jacobmerson marked this pull request as draft March 16, 2026 03:39
@jacobmerson
Copy link
Collaborator Author

With this change the self-hosted runner completes in 7 minutes instead of somewhere between 48 min - 1 hr. I think we should move forward with this approach as soon as I can move the prebuilt dependencies out of my home directory.

@jacobmerson jacobmerson marked this pull request as ready for review March 16, 2026 05:36
@jacobmerson jacobmerson requested a review from cwsmith March 16, 2026 05:36
@cwsmith
Copy link
Contributor

cwsmith commented Mar 16, 2026

Nice improvement! Thank you.

IIRC, we have spack packages for these and could install them alongside the 'normal' user accessible modules instead of treating them as something 'special'. If we did that, we'd want to periodically install newer versions of the deps (ideally through cron etc.) to catch problems caused by upstream changes.

@jacobmerson
Copy link
Collaborator Author

In terms of how we use spack for this. We could create an environment with all the dependencies then do spack env loads pcms-env to get a list of relevant modules that can be loaded. Is that what you are thinking?

@cwsmith
Copy link
Contributor

cwsmith commented Mar 16, 2026

I prefer to just expose the modules (i.e., as instructed /opt/scorec/spack/rhel9/README) instead of having users run spack commands.

@jacobmerson
Copy link
Collaborator Author

Yes. That's what I meant. That command will give you a list of modules that replicate the spack environment. I didn't mean run spack in CI.

Sichao and I can work on getting this in place when he's back from vacation.

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