Add Woodpecker tagged-release workflows

This commit is contained in:
2026-10-05 20:49:45 +00:00
parent bdf6a155b5
commit 9e619c98a4
5 changed files with 247 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
# ReleaseKit staged implementation plan
Status: In progress. Stages 1–15 are complete; later stages remain pending.
Status: In progress. Stages 1–16 are complete; later stages remain pending.
Date: 2026-10-05
@@ -835,7 +835,7 @@ no live Gitea service or credentials were used.
## Stage 16: Provide the common Woodpecker integration
Status: Pending. Depends on Stage 15.
Status: Complete. Depends on Stage 15.
1. Add maintained source-only and binary-producing tag-pipeline templates.
Parameterize the Go image and immutable ReleaseKit source pin for eventual
@@ -863,6 +863,23 @@ CI success is not a source release gate. The
[Woodpecker environment reference](https://woodpecker-ci.org/docs/usage/environment)
owns the runner-provided tag and commit variables.
Evidence: maintained source-only and binary tag workflows are in
`examples/woodpecker/`. Both parameterize the Go image and immutable ReleaseKit
commit through their matrix entries, verify the fetched tag against the runner
commit, and keep shared output under the locally ignored `.releasekit/`
directory. Only the delivery step maps the configured Woodpecker secret to the
CLI token variable. The source-only workflow delivers the note page; the binary
workflow prepares module caches, builds declared targets offline, and passes
the build receipt and assets into delivery. The delivery guide covers template
inputs, source publication versus delivery status, and retries against the same
tag. A test builds the CLI from this checkout and exercises both workflows'
delivery command sequences against fixture repositories and a local HTTP
server; it substitutes the built executable for the installation command. Both
YAML files parse with locally available PyYAML 6.0.3, and static checks confirm
their tag filters, step layout, and delivery-only secret mapping. `go test ./...`,
`go run ./internal/apicheck`, and the Markdown whitespace check pass. No live
Woodpecker runner, image pull, secret, or hosted delivery service was used.
## Stage 17: Prepare ReleaseKit's own hosted-page delivery
Status: Pending. Depends on Stage 16.