feat(r2-upload): add hold_period input for release gating#82
Merged
emmanuelm41 merged 4 commits intomainfrom Apr 6, 2026
Merged
feat(r2-upload): add hold_period input for release gating#82emmanuelm41 merged 4 commits intomainfrom
emmanuelm41 merged 4 commits intomainfrom
Conversation
Adds an optional `hold_period` input (minutes) to the R2 upload reusable workflow. When set and source_type is 'release', checks the GitHub Release creation timestamp and fails if the release is younger than the configured minutes. - Defaults to 0 (no hold) for full backward compatibility - Clear failure message with remaining wait time and re-run instructions - Uses env vars instead of direct expression interpolation in run blocks
…n time The release is created early in the pipeline, but assets are uploaded as each platform build finishes (30-40 min later). Checking against release creation time means the hold is already satisfied by the time the upload job runs. Now checks the most recent release asset's updatedAt timestamp, so hold_period measures time since the last binary was uploaded.
…check Replace 50-line inline bash hold check with composite action call. The release-hold action handles release tag resolution, asset timestamp lookup, and age comparison internally.
Add hold_artifact_name input and artifacts-mode hold check step. When hold_artifact_name is provided, uses the artifact anchor to check creation time. Otherwise falls back to run-start anchor. The hold_period input now works for both source types.
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.
Value
hold_periodinput allows consumers to enforce a minimum age on GitHub Releases before R2 upload proceedsTechnical
.github/workflows/_cloudflare-r2-upload.yamlto addhold_periodinput (number, default 0)source_type == 'release'ANDhold_period > 0gh release viewto get release creation timestamp, fails with clear message showing remaining wait timeenv:variables (no direct interpolation inrun:blocks)