Skip to content

Add release artifact verification step#1066

Merged
liamfallon merged 7 commits into
kptdev:mainfrom
Nordix:release_verify
Jun 24, 2026
Merged

Add release artifact verification step#1066
liamfallon merged 7 commits into
kptdev:mainfrom
Nordix:release_verify

Conversation

@efiacor

@efiacor efiacor commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Description

  • What changed: Added a verification step to the release workflow that runs after goreleaser, plus a reusable script at scripts/verify-release-artifacts.sh
  • Why it's needed: Goreleaser recently failed silently — no artifacts published to the GH release page. We need the workflow to fail visibly when this happens.
  • How it works: After goreleaser completes, the new step lists release assets via gh, checks all expected artifacts are present, downloads them, and validates SHA256 checksums against checksums.txt. Fails the workflow on any missing artifact or checksum mismatch.

Type of Change

  • Enhancement

Checklist

  • Code follows project style guidelines
  • Self-reviewed changes
  • Tests added/updated
  • Documentation added/updated
  • All tests and gating checks pass

Testing Instructions (Optional)

  1. Run locally against an existing release: ./scripts/verify-release-artifacts.sh v1.5.11
  2. Trigger via workflow_dispatch on a test tag to validate end-to-end

Additional Notes (Optional)

  • The script is portable (Linux + macOS) and shellcheck-clean
  • Retry logic handles release propagation delays (up to 50s)
  • Can be run standalone for ad-hoc verification of past releases

AI Disclosure

  • I have used AI in the creation of this PR.

If so, please describe how:

  • Kiro to generate the verification script and workflow integration.
  • The author has fully verified all code.

@efiacor efiacor requested review from a team and Copilot June 22, 2026 12:43
@efiacor efiacor added the enhancement New feature or request label Jun 22, 2026
@efiacor efiacor self-assigned this Jun 22, 2026
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jun 22, 2026
@netlify

netlify Bot commented Jun 22, 2026

Copy link
Copy Markdown

Deploy Preview for kpt-porch ready!

Name Link
🔨 Latest commit c3a041b
🔍 Latest deploy log https://app.netlify.com/projects/kpt-porch/deploys/6a3b87a057985f0008663731
😎 Deploy Preview https://deploy-preview-1066--kpt-porch.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a post-GoReleaser verification guardrail to ensure GitHub Releases actually contain the expected porchctl/blueprint artifacts and that downloaded artifacts match checksums.txt, failing the release workflow when assets are missing or invalid.

Changes:

  • Added scripts/verify-release-artifacts.sh to list expected release assets, download them, and validate SHA256 checksums.
  • Wired the verification script into .github/workflows/release.yaml to run after the GoReleaser step.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
scripts/verify-release-artifacts.sh New script to validate release asset presence and checksum correctness.
.github/workflows/release.yaml Adds a “Verify release artifacts” step after GoReleaser.

Comment thread .github/workflows/release.yaml
Comment thread scripts/verify-release-artifacts.sh
Comment thread scripts/verify-release-artifacts.sh
Comment thread scripts/verify-release-artifacts.sh
@liamfallon

Copy link
Copy Markdown
Contributor

Can you have a look at the Github comments?

Copilot AI review requested due to automatic review settings June 23, 2026 17:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comment thread scripts/verify-release-artifacts.sh
Comment thread scripts/verify-release-artifacts.sh
Comment thread scripts/verify-release-artifacts.sh
Copilot AI review requested due to automatic review settings June 23, 2026 18:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comment thread scripts/verify-release-artifacts.sh
Comment thread scripts/verify-release-artifacts.sh Outdated
Comment thread scripts/verify-release-artifacts.sh Outdated
efiacor and others added 6 commits June 24, 2026 08:24
Add a post-goreleaser step that verifies all expected artifacts are
published to the GitHub release and validates their checksums. This
catches silent goreleaser failures that previously resulted in empty
release pages.

The verification script:
- Checks all expected assets are present (porchctl binaries, blueprint,
  checksums.txt)
- Downloads artifacts and validates SHA256 checksums
- Supports retry logic for release propagation delays
- Works on both Linux (CI) and macOS (local dev)

Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
- Stop suppressing stderr in gh retry loop so auth/API errors are visible
- Fail on missing files in checksums.txt instead of skipping
- Verify all expected assets have entries in checksums.txt

Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
- Fix requirements comment to reference GH_TOKEN (matches workflow)
- Stop capturing stderr into ASSETS variable (let it pass through)
- Let checksums.txt download fail fast instead of suppressing errors
- Use portable mktemp template for macOS compatibility

Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
Copilot AI review requested due to automatic review settings June 24, 2026 07:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment thread api/go.mod
Signed-off-by: Fiachra Corcoran <fiachra.corcoran@est.tech>
@sonarqubecloud

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

Comment thread api/go.mod
@dosubot dosubot Bot added the lgtm #ededed label Jun 24, 2026
@efiacor efiacor requested review from a team and mozesl-nokia June 24, 2026 14:06
@liamfallon liamfallon merged commit 7ed43c3 into kptdev:main Jun 24, 2026
31 of 35 checks passed
@efiacor efiacor deleted the release_verify branch June 24, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm #ededed size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants