Add GitHub Actions test workflow with private REFPROP - #151
Merged
Conversation
REFPROP is proprietary and cannot live in this public repository. The workflow fetches a private repository containing the compiled Linux build (librefprop.so + FLUIDS/MIXTURES) using a read-only deploy key stored as the REFPROP_DEPLOY_KEY actions secret, points RPPREFIX at the checkout and runs the full test suite. Secrets are not exposed to workflows triggered by fork PRs, so the test job skips itself when the key is absent - the REFPROP binary cannot be exfiltrated through a malicious PR. Forks wanting CI must provide their own private REFPROP repository and deploy key. Also expose ccp.REFPROP_AVAILABLE so the workflow (and users) can assert that REFPROP was actually picked up instead of silently falling back to HEOS.
uv.lock is gitignored in this repo, so uv sync --locked cannot work in CI. Sync without the flag and add a uv constraint (dev/CI resolution only, not published metadata) keeping CoolProp on 7.x until ccp is adapted to the exception-type and cubic-EOS roundoff changes in CoolProp 8.
Collaborator
Author
|
Validation run of this workflow with the secret (dispatched on a temporary upstream branch, now deleted): https://github.com/petrobras/ccp/actions/runs/29769608763 — 159 passed in 9m47s, REFPROP 10.0.0.99 loaded and asserted. |
This was referenced Jul 21, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds CI that runs the full test suite (
pytest ccp/tests -n 4 --dist loadfile) with REFPROP.How REFPROP is kept private:
librefprop.so+FLUIDS/MIXTURES) lives in the private reporaphaeltimbo/refprop-linux.REFPROP_DEPLOY_KEYactions secret (already configured), and pointsRPPREFIXat the checkout.main(andworkflow_dispatch) run the full REFPROP suite.pull_requesttrigger must never be changed topull_request_target, which would expose the secret to fork PR code.Also exposes
ccp.REFPROP_AVAILABLEso CI can assert REFPROP was actually loaded instead of silently falling back to HEOS.A validation run of this exact workflow (with the secret) is linked in the comments.