Skip to content

Commit 29a9042

Browse files
michaelmcneesclaude
andcommitted
ci: address CodeRabbit pre-existing review findings
- claude.yml: scope pull-requests: write to a dedicated coderabbit_review job; claude job now has pull-requests: read only - release-tags.yml: replace brittle startsWith(head_commit.message) + HEAD~1 with github.event.before via env var; no-op on initial push - goreleaser.yaml: add skip_push: auto to alias manifests (Major.Minor, Major, latest) so prereleases don't update floating tags - sync-chart-appversion.sh: add explicit argument guard with usage message Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2fc4a2f commit 29a9042

4 files changed

Lines changed: 43 additions & 19 deletions

File tree

.github/scripts/sync-chart-appversion.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ set -euo pipefail
44
# Usage: sync-chart-appversion.sh <engine-version>
55
# Example: sync-chart-appversion.sh 0.4.1
66

7+
if [[ -z "${1-}" ]]; then
8+
echo "Usage: sync-chart-appversion.sh <engine_version>" >&2
9+
exit 1
10+
fi
11+
712
ENGINE_VERSION="$1"
813
CHART_FILE="packages/helm-chart/Chart.yaml"
914

.github/workflows/claude.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
timeout-minutes: 30
2626
permissions:
2727
contents: read
28-
pull-requests: write
28+
pull-requests: read
2929
issues: read
3030
id-token: write
3131
actions: read
@@ -43,20 +43,23 @@ jobs:
4343
additional_permissions: |
4444
actions: read
4545
46-
- name: Request CodeRabbit re-review
47-
if: >-
48-
steps.claude.outcome == 'success' && (
49-
github.event.issue.pull_request ||
50-
github.event_name == 'pull_request_review_comment' ||
51-
github.event_name == 'pull_request_review'
52-
)
46+
coderabbit_review:
47+
name: Request CodeRabbit Re-review
48+
needs: claude
49+
if: >-
50+
needs.claude.result == 'success' && (
51+
github.event.issue.pull_request != null ||
52+
github.event_name == 'pull_request_review_comment' ||
53+
github.event_name == 'pull_request_review'
54+
)
55+
runs-on: ubuntu-latest
56+
permissions:
57+
pull-requests: write
58+
steps:
59+
- name: Post CodeRabbit review request
5360
env:
5461
GH_TOKEN: ${{ github.token }}
55-
PR_NUMBER: >-
56-
${{
57-
github.event.issue.number ||
58-
github.event.pull_request.number
59-
}}
62+
PR_NUMBER: ${{ github.event.issue.number || github.event.pull_request.number }}
6063
run: |
6164
gh pr comment "$PR_NUMBER" --repo "$GITHUB_REPOSITORY" \
6265
--body "@coderabbitai review"

.github/workflows/release-tags.yml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,38 +15,51 @@ jobs:
1515
tag:
1616
name: Create Package Tags
1717
runs-on: ubuntu-latest
18-
# Only run on Version PR merges
19-
if: "startsWith(github.event.head_commit.message, 'ci: version packages')"
2018
steps:
2119
- uses: actions/checkout@v4
2220
with:
23-
fetch-depth: 2
21+
fetch-depth: 0
2422

2523
- name: Detect version bumps
2624
id: bumps
25+
env:
26+
BASE_SHA: ${{ github.event.before }}
27+
HEAD_SHA: ${{ github.sha }}
2728
run: |
2829
ENGINE_BUMPED=false
2930
HELM_BUMPED=false
3031
SITE_BUMPED=false
3132
33+
# No-op on initial push or when base equals HEAD (no changes to compare)
34+
if [[ "$BASE_SHA" == "0000000000000000000000000000000000000000" || "$BASE_SHA" == "$HEAD_SHA" ]]; then
35+
echo "No base commit to compare against; skipping version detection"
36+
echo "engine_bumped=false" >> "$GITHUB_OUTPUT"
37+
echo "engine_version=$(jq -r '.version' packages/engine/package.json)" >> "$GITHUB_OUTPUT"
38+
echo "helm_bumped=false" >> "$GITHUB_OUTPUT"
39+
echo "helm_version=$(jq -r '.version' packages/helm-chart/package.json)" >> "$GITHUB_OUTPUT"
40+
echo "site_bumped=false" >> "$GITHUB_OUTPUT"
41+
echo "site_version=$(jq -r '.version' packages/site/package.json)" >> "$GITHUB_OUTPUT"
42+
exit 0
43+
fi
44+
3245
# Check engine version bump
33-
ENGINE_OLD=$(git show HEAD~1:packages/engine/package.json 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
46+
ENGINE_OLD=$(git show "${BASE_SHA}:packages/engine/package.json" 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
3447
ENGINE_NEW=$(jq -r '.version' packages/engine/package.json)
3548
if [[ -n "$ENGINE_OLD" && "$ENGINE_OLD" != "$ENGINE_NEW" ]]; then
3649
echo "Engine version bumped: $ENGINE_OLD -> $ENGINE_NEW"
3750
ENGINE_BUMPED=true
3851
fi
3952
4053
# Check helm-chart version bump
41-
HELM_OLD=$(git show HEAD~1:packages/helm-chart/package.json 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
54+
HELM_OLD=$(git show "${BASE_SHA}:packages/helm-chart/package.json" 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
4255
HELM_NEW=$(jq -r '.version' packages/helm-chart/package.json)
4356
if [[ -n "$HELM_OLD" && "$HELM_OLD" != "$HELM_NEW" ]]; then
4457
echo "Helm chart version bumped: $HELM_OLD -> $HELM_NEW"
4558
HELM_BUMPED=true
4659
fi
4760
4861
# Check site version bump
49-
SITE_OLD=$(git show HEAD~1:packages/site/package.json 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
62+
SITE_OLD=$(git show "${BASE_SHA}:packages/site/package.json" 2>/dev/null | jq -r '.version' 2>/dev/null || echo "")
5063
SITE_NEW=$(jq -r '.version' packages/site/package.json)
5164
if [[ -n "$SITE_OLD" && "$SITE_OLD" != "$SITE_NEW" ]]; then
5265
echo "Site version bumped: $SITE_OLD -> $SITE_NEW"

packages/engine/.goreleaser.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,17 @@ docker_manifests:
6868
image_templates:
6969
- "ghcr.io/dvflw/mantle:{{ .Version }}-amd64"
7070
- "ghcr.io/dvflw/mantle:{{ .Version }}-arm64"
71+
skip_push: auto
7172
- name_template: "ghcr.io/dvflw/mantle:{{ .Major }}"
7273
image_templates:
7374
- "ghcr.io/dvflw/mantle:{{ .Version }}-amd64"
7475
- "ghcr.io/dvflw/mantle:{{ .Version }}-arm64"
76+
skip_push: auto
7577
- name_template: "ghcr.io/dvflw/mantle:latest"
7678
image_templates:
7779
- "ghcr.io/dvflw/mantle:{{ .Version }}-amd64"
7880
- "ghcr.io/dvflw/mantle:{{ .Version }}-arm64"
81+
skip_push: auto
7982

8083
release:
8184
github:

0 commit comments

Comments
 (0)