Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 26 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,14 @@ jobs:
run: |
set -euo pipefail
TAG="${GITHUB_REF_NAME}"
# Recovery releases are always triggered by tag push — tag always exists.
# Skip freshness check for annotated tags containing 'recovery-release: true'.
# Tag-push events: GitHub already rejects pushes to existing tags (unless force-pushed,
# which branch protection blocks). The tag was just created — freshness is guaranteed.
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
echo "::notice::Tag ${TAG} was just pushed — skipping freshness check for tag-push event."
exit 0
fi
# For workflow_dispatch: guard against accidentally re-running for an existing tag.
# Recovery releases skip this check (they always retag).
if git cat-file -t "${TAG}" 2>/dev/null | grep -qx tag &&
git cat-file tag "${TAG}" 2>/dev/null | grep -Fxq "recovery-release: true"; then
echo "::notice::Tag ${TAG} is a recovery release — skipping freshness check."
Expand Down Expand Up @@ -957,7 +963,16 @@ jobs:
run: |
set -euo pipefail
VERSION=$(node -p "require('./package.json').version")
npx clawhub@latest publish skill/ --slug onestep-aegis --name "Aegis Bridge" --version "$VERSION" --changelog "Release v$VERSION - HTTP/MCP Claude Code orchestration"
set +e
OUTPUT=$(npx clawhub@latest publish skill/ --slug onestep-aegis --name "Aegis Bridge" --version "$VERSION" --changelog "Release v$VERSION - HTTP/MCP Claude Code orchestration" 2>&1)
STATUS=$?
set -e
echo "$OUTPUT"
if [ $STATUS -ne 0 ] && echo "$OUTPUT" | grep -qi "already exists"; then
echo "::notice::ClawHub version $VERSION already exists — skipping."
elif [ $STATUS -ne 0 ]; then
exit $STATUS
fi

# H1: SLSA build provenance attestation.
# Generates machine-readable provenance for every release artifact.
Expand All @@ -973,6 +988,14 @@ jobs:
attestations: write
steps:
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: package
path: .
- uses: actions/download-artifact@v8
with:
name: helm-chart
path: deploy/helm/aegis
- name: Generate build provenance attestation
uses: actions/attest-build-provenance@v4
with:
Expand Down
Loading