From 0e6486ac4c984ffb616c7fa4e152b53c9ba5e776 Mon Sep 17 00:00:00 2001 From: Josh Mabry Date: Sun, 11 Oct 2026 23:50:54 -0700 Subject: [PATCH] ci: release through release-tools; version: 0.1.3 in the bundle manifest Archetype releases were cut by hand with gh release create, so they got no themed notes and no Discord post. This adds the thin Release caller for release-tools' plugin-release.yml@v2, which reads version: from protoagent.bundle.yaml and labels the release as an archetype. It also adds version: 0.1.3, the current latest tag (v0.1.3). There are no unreleased changes since v0.1.3, so this cuts no release. protoAgent's bundle loader ignores the key. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/release.yml | 26 ++++++++++++++++++++++++++ protoagent.bundle.yaml | 5 +++++ 2 files changed, 31 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..72e70c7 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,26 @@ +# Fleet release ritual: tag vX.Y.Z from protoagent.bundle.yaml's `version:`, write +# LLM-themed notes, create the GitHub release and post the Discord embed. The logic +# lives in protoLabsAI/release-tools (plugin-release.yml auto-detects the bundle +# manifest and labels the release as an archetype). Never `gh release create` by hand. +# +# Fires on a `chore: release vX.Y.Z` squash subject on main, or `gh workflow run Release`. +# Idempotent: a re-run on an existing tag is a no-op. +name: Release + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: write # granted here: a called workflow can only downgrade + +jobs: + release: + # Fork guard: a fork must not cut releases under the upstream name. + if: >- + github.repository == 'protoLabsAI/engineer-archetype' && + (github.event_name == 'workflow_dispatch' || + startsWith(github.event.head_commit.message, 'chore: release v')) + uses: protoLabsAI/release-tools/.github/workflows/plugin-release.yml@v2 + secrets: inherit # notes gateway + Discord webhook are org-level diff --git a/protoagent.bundle.yaml b/protoagent.bundle.yaml index 12eb2f4..23ad53c 100644 --- a/protoagent.bundle.yaml +++ b/protoagent.bundle.yaml @@ -58,6 +58,11 @@ id: engineer-archetype name: Engineer +# Release version — the source of truth for the vX.Y.Z tag. Read by release-tools' +# plugin-release.yml (.github/workflows/release.yml); protoAgent's bundle loader ignores it. +# Bump it in the PR that ships the release, then merge as `chore: release vX.Y.Z` (or +# run the Release workflow by hand). +version: 0.1.3 description: >- A hands-on pair-programming navigator for the operator's own machine. Point it at a repo (a git URL or a folder) and it clones or registers it, proves the toolchain,