Refactor the custom OpenSSL build into a reusable action - #15384
Open
alex wants to merge 2 commits into
Open
Conversation
The linux job's OpenSSL steps (config hash, cache, build, CFLAGS/ RUSTFLAGS) move into .github/actions/build-openssl, which exposes the config hash as an output for the rust/pip cache key. The cache now uses actions/cache/restore plus an explicit actions/cache/save immediately after the build, instead of relying on actions/cache's post-job save. A build is written to the cache as soon as it finishes, so a failure or timeout in a later step no longer means rebuilding OpenSSL on the next run. The cache keys are unchanged, so existing entries are still hits. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016EoZRhEKeErJj1DA83MvxT
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016EoZRhEKeErJj1DA83MvxT
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.
The
linuxjob's four OpenSSL steps (config hash, cache,build_openssl.sh,CFLAGS/RUSTFLAGSexports) move into a new.github/actions/build-opensslcomposite action. It takestype/version/config-flagsand exposes the config hash as an output, which the rust/pip cache key now reads instead of theOPENSSL_HASHenv var.The cache also switches from
actions/cacheto explicitactions/cache/restore+actions/cache/save, with the save running immediately after the build instead of in a post-job step. A build now reaches the cache as soon as it finishes, so a failure or the 15-minute job timeout in a later step (nox install, tests) no longer means rebuilding OpenSSL on the next run.Cache keys are unchanged, so existing entries are still hits — the hash computation produces the same digest as before (verified locally:
openssl+4.0.1+no-legacy→9d20c05…, same as the inline version).One behavior change: the cache steps lose their
timeout-minutes: 2, since composite-action steps don't support that key. The job'stimeout-minutes: 15still applies.Generated by Claude Code