Retry image builds once after a GHCR 429 #17

Merged
branderson merged 2 commits from ci-retry-ghcr into main 2026-10-15 21:29:33 -07:00
2 changed files with 44 additions and 2 deletions
+22 -1
View File
@@ -78,7 +78,28 @@ jobs:
images: ${{ steps.registry.outputs.host }}/${{ steps.registry.outputs.owner }}/${{ matrix.image }}
tags: type=raw,value=latest
- uses: docker/build-push-action@v6
# GHCR sometimes answers the streamer's base image pull with 429 Too Many
# Requests; it clears within minutes, so retry once.
- id: build
uses: docker/build-push-action@v6
continue-on-error: true
with:
context: ${{ matrix.context }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64
build-args: |
VERSION=${{ steps.version.outputs.sha }}
provenance: false
- name: Wait before retrying
if: steps.build.outcome == 'failure'
run: sleep 120
- name: Retry the build
if: steps.build.outcome == 'failure'
uses: docker/build-push-action@v6
with:
context: ${{ matrix.context }}
push: true
+22 -1
View File
@@ -58,7 +58,28 @@ jobs:
images: ghcr.io/${{ steps.owner.outputs.name }}/${{ matrix.image }}
tags: type=raw,value=latest
- uses: docker/build-push-action@v6
# GHCR sometimes answers the streamer's base image pull with 429 Too Many
# Requests; it clears within minutes, so retry once.
- id: build
uses: docker/build-push-action@v6
continue-on-error: true
with:
context: ${{ matrix.context }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64
build-args: |
VERSION=${{ steps.version.outputs.sha }}
provenance: false
- name: Wait before retrying
if: steps.build.outcome == 'failure'
run: sleep 120
- name: Retry the build
if: steps.build.outcome == 'failure'
uses: docker/build-push-action@v6
with:
context: ${{ matrix.context }}
push: true