ci: add apisix-runtime release assets workflow#464
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a manual GitHub Actions workflow to build apisix-runtime Debian packages for amd64 and arm64, sets VERSION from the trigger, runs make (with a new BUILD_LATEST build-arg), renames the .deb artifact consistently, and creates/targets a ChangesRelease Workflow for apisix-runtime
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release-apisix-runtime.yml:
- Around line 28-30: Replace the unpinned checkout action "uses:
actions/checkout@v4" with a pinned commit SHA and add the `persist-credentials:
false` option in its `with` block; specifically, locate the step that references
uses: actions/checkout@v4 and change it to uses: actions/checkout@<COMMIT_SHA>
and add a with: persist-credentials: false (and any other existing with keys) to
prevent credential persistence.
- Around line 44-54: Update the "Upload release assets" step that currently uses
softprops/action-gh-release@v2: replace the floating tag with a specific commit
SHA for softprops/action-gh-release (i.e.
softprops/action-gh-release@<commit-sha>) and verify the entries under files:
exactly match the produced .deb artifact names in ./output/ (including any
debug/non-debug variants and architecture suffixes) so that
fail_on_unmatched_files: true will not fail; adjust the filenames or the build
artifact naming to ensure exact string equality and keep overwrite_files: true
as needed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8867c2b6-2f66-40d1-9412-b9294b21af9f
📒 Files selected for processing (1)
.github/workflows/release-apisix-runtime.yml
There was a problem hiding this comment.
Pull request overview
Adds a manually triggered GitHub Actions workflow to build apisix-runtime Debian packages (amd64/arm64) and upload them as assets to the apisix-runtime/<version> GitHub Release, to support downstream gateway image builds consuming prebuilt runtime artifacts.
Changes:
- Introduces a
workflow_dispatchworkflow that accepts a runtimeversioninput. - Builds Debian bookworm-slim
.debassets for amd64 and arm64 viamake package. - Uploads the generated artifacts to the
apisix-runtime/<version>release tag.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release-apisix-runtime.yml:
- Around line 53-55: The release creation can race between matrix jobs: keep the
existing check using the tag variable and gh release view "$tag", but make the
create step tolerant of a concurrent creator by changing the gh release create
"$tag" --title "$tag" --notes "Release apisix-runtime ${VERSION}" invocation so
it does not cause the job to fail if the release already exists (e.g., append a
no-fail fallback like || true or retry/ignore an "already exists" error),
ensuring tag, gh release view and gh release create remain but the create is
idempotent across parallel matrix jobs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5bf66359-a39f-4771-aea9-8ae1044f751a
📒 Files selected for processing (1)
.github/workflows/release-apisix-runtime.yml
Add a release workflow for reusable apisix-runtime Debian assets.
The workflow now runs automatically when an
apisix-runtime/<version>GitHub release is published, and still supports manual dispatch for reruns. It builds normal and debug Debian packages for amd64 and arm64 on Debian bookworm-slim, then uploads the resulting assets to the existing release.This lets downstream images install prebuilt runtime packages from the release instead of rebuilding OpenResty during their own image builds.
Compatibility notes:
apisix-runtime/*releases run the jobapisix-runtime/<version>Summary by CodeRabbit