fix(ci): include GitHub SHA in image tag to prevent stale cache reuse
Each CI build now produces an immutable tag (pr-N-sha7 or YYYY.MM.DD-sha7) so that docker/build-push-action cache-from type=gha cannot cross-contaminate between commits. Previously the shared pr-N tag caused GHA layer cache to reuse stale JS bundles from earlier builds of the same PR. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -120,8 +120,11 @@ jobs:
|
|||||||
- name: Generate image tag
|
- name: Generate image tag
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
|
# Always include short SHA so each build is immutable and cache-from can never
|
||||||
|
# cross-contaminate between commits. For PRs the format is pr-N-sha7; for main
|
||||||
|
# it is YYYY.MM.DD-sha7.
|
||||||
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
||||||
TAG="pr-${{ github.event.pull_request.number }}"
|
TAG="pr-${{ github.event.pull_request.number }}-${GITHUB_SHA::7}"
|
||||||
else
|
else
|
||||||
TAG="$(date -u +%Y.%m.%d)-${GITHUB_SHA::7}"
|
TAG="$(date -u +%Y.%m.%d)-${GITHUB_SHA::7}"
|
||||||
fi
|
fi
|
||||||
@@ -207,7 +210,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Deploy to groombook-dev
|
- name: Deploy to groombook-dev
|
||||||
env:
|
env:
|
||||||
TAG: pr-${{ github.event.pull_request.number }}
|
TAG: pr-${{ github.event.pull_request.number }}-${{ github.sha ::7}}
|
||||||
PR_NUM: ${{ github.event.pull_request.number }}
|
PR_NUM: ${{ github.event.pull_request.number }}
|
||||||
run: |
|
run: |
|
||||||
echo "Deploying images tagged $TAG to groombook-dev..."
|
echo "Deploying images tagged $TAG to groombook-dev..."
|
||||||
|
|||||||
Reference in New Issue
Block a user