2.6 KiB
2.6 KiB
Phase 6 Verification: CoreCI Release Flow
4-Layer Verification Results
| Layer | Command | Result |
|---|---|---|
| 1. Build | go build ./... |
PASS |
| 2. Vet | go vet ./... |
PASS |
| 3. Test | go test ./... |
PASS (all packages green) |
| 4. Smoke | make build + version + tarball + changelog | PASS (see below) |
Layer 4: Smoke Test Output
=== 4a: make build with version injection ===
→ building v0.1.5 (e1b5385)
--- orca version ---
orca version v0.1.5
git commit: e1b5385
build time: 2026-06-03T19:27:30Z
=== 4b: make changelog (idempotent) ===
✓ CHANGELOG.md updated
35 CHANGELOG.md
=== 4c: tarball generation (release script partial) ===
-rw-r--r-- 1 root root 5.9M Jun 3 19:27 orca-v0.1.6-test-linux-amd64.tar.gz
orca
Must-Have Checklist (from PLANS.md)
.coreci.yml— validate, build, test, release pipelines (4 pipelines, 2-step release)scripts/release.sh—teawrapper (idempotent, sources .env, preflight checks)Makefilereleasetarget invokes release script- Tarball generation in release pipeline (
tar -czf orca-${VERSION}-linux-amd64.tar.gz -C bin orca) - Version injection via
-ldflags(targetsinternal/clipackage vars, notmain) CHANGELOG.mdauto-generated from---ci---commit blocks viamake changelog
REQ Coverage
- REQ-007 (CoreCI full release flow via
.coreci.yml) — 4 pipelines defined; release gated onrefs/tags/v*✓ - REQ-014 (
gosec+govulncheckin CI pipeline) —validatepipeline runsgofmt -landgo vet;testruns with-raceand coverage. Security scanning tools are out of scope for v0.1 minimalism; deferred. (Marked partial.)
Release Pipeline Detail
release:
when: { ref: "refs/tags/v*" }
steps:
- name: build-artifact # builds with -ldflags, generates CHANGELOG, tars
- name: gitea-release # installs `tea`, creates Gitea release
The release pipeline only runs on tag pushes. tea releases create is invoked
with the changelog as --note-file and the tarball as --asset.
ldflags Path Note
Version variables live in internal/cli/root.go, not cmd/orca/main.go. The
Makefile and .coreci.yml use the fully qualified package path:
-X git.cloudinit.dev/coreci/orca/internal/cli.version=${VERSION}
Test Coverage
ok git.cloudinit.dev/coreci/orca/internal/cli 0.005s
ok git.cloudinit.dev/coreci/orca/internal/daemon 6.362s coverage: 67.5%
ok git.cloudinit.dev/coreci/orca/internal/jobspec 0.004s
ok git.cloudinit.dev/coreci/orca/internal/store 4.881s