diff --git a/.github/workflows/release-nightly-snapcraft.yml b/.github/workflows/release-nightly-snapcraft.yml index 8a7646468b5..456f628c87d 100644 --- a/.github/workflows/release-nightly-snapcraft.yml +++ b/.github/workflows/release-nightly-snapcraft.yml @@ -27,9 +27,14 @@ jobs: fetch-depth: 0 - uses: snapcore/action-build@3bdaa03e1ba6bf59a65f84a751d943d549a54e79 # v1.3.0 id: build - - uses: snapcore/action-publish@214b86e5ca036ead1668c79afb81e550e6c54d40 # v1.2.0 + # retry snapcraft uploads which can be flaky + - name: Publish snap + run: | + for attempt in 1 2 3 4 5; do + snapcraft upload "${{ steps.build.outputs.snap }}" --release latest/edge && exit 0 + echo "::warning::snap upload attempt $attempt failed, retrying in 15s" + sleep 15 + done + exit 1 env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }} - with: - snap: ${{ steps.build.outputs.snap }} - release: latest/edge