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

Pre-Built SIPNET Binary for GitHub Actions #3427

Open
3 tasks
dlebauer opened this issue Jan 30, 2025 · 1 comment
Open
3 tasks

Pre-Built SIPNET Binary for GitHub Actions #3427

dlebauer opened this issue Jan 30, 2025 · 1 comment

Comments

@dlebauer
Copy link
Member

Problem

Currently, sipnet.yml in pecanproject/pecan checks out pecanproject/sipnet, builds SIPNET from source using make, and then runs PEcAn tests. This adds an unnecessary failure point and compute/time for PEcAn GHAS.

Proposed Solution

  • Modify ci.yml in pecanproject/sipnet to build and upload the SIPNET binary as an artifact and update sipnet.yml in pecanproject/pecan to download and use the pre-built binary instead of compiling from source.

Benefits

  • Eliminates failed runs due to sipnet build issues
  • Eliminates redundant SIPNET builds in PEcAn CI
  • Reduces build time and improves efficiency

Next Steps

  • Update ci.yml in pecanproject/sipnet to build and upload SIPNET binary.
  • Update sipnet.yml in pecanproject/pecan to download and use the pre-built SIPNET binary.
  • Test and verify the workflows.
@infotroph
Copy link
Member

A couple complications here:

  1. The existing PEcAn sipnet test uses the checked-out sipnet repo for two things: to build the binary and then to provide the sipnet input files for the test run, so there is more than one file to be synced/retrieved each time
  2. Build artifacts aren't permanent and I'm not sure whether you can even access them outside the workflow where they were created, let alone from another repository. I'm fuzzy on details here and could be wrong, but I believe that to persist artifacts for wider use you need a Deployment step that uploads them to some destination outside the GHA infrastructure.

I don't think either of these is a showstopper, just more pieces to put together to get this all working.

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

No branches or pull requests

2 participants