11name : Publish Docker Image
22
33on :
4- push :
5- tags :
6- - ' v* '
4+ workflow_run :
5+ workflows : ["Publish Release"]
6+ types : [completed]
77
88permissions :
99 contents : read
@@ -12,6 +12,10 @@ permissions:
1212jobs :
1313 docker :
1414 runs-on : ubuntu-latest
15+ if : |
16+ github.event.workflow_run.head_repository.full_name == github.repository &&
17+ github.event.workflow_run.conclusion == 'success' &&
18+ startsWith(github.event.workflow_run.head_branch, 'release/v')
1519 steps :
1620 - name : Checkout repository
1721 uses : actions/checkout@v7
2024
2125 - name : Extract version
2226 id : version
23- run : echo "version=${GITHUB_REF#refs/tags/v}" >> "$GITHUB_OUTPUT"
27+ env :
28+ HEAD_BRANCH : ${{ github.event.workflow_run.head_branch }}
29+ run : |
30+ VERSION="${HEAD_BRANCH#release/v}"
31+ if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
32+ echo "Could not extract a valid version from branch '$HEAD_BRANCH'" >&2
33+ exit 1
34+ fi
35+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
36+
37+ - name : Wait for npm package
38+ env :
39+ VERSION : ${{ steps.version.outputs.version }}
40+ run : |
41+ for i in $(seq 1 30); do
42+ if npm view "orval@${VERSION}" version > /dev/null 2>&1; then
43+ exit 0
44+ fi
45+ echo "orval@${VERSION} not yet on npm, retrying..."
46+ sleep 10
47+ done
48+ echo "Package never appeared on npm" && exit 1
2449
2550 - name : Set up QEMU
2651 uses : docker/setup-qemu-action@v4
4469 build-args : |
4570 ORVAL_VERSION=${{ steps.version.outputs.version }}
4671 tags : |
47- ghcr.io/orval-labs/orval :${{ steps.version.outputs.version }}
48- ghcr.io/orval-labs/orval :latest
72+ ghcr.io/${{ github.repository }} :${{ steps.version.outputs.version }}
73+ ghcr.io/${{ github.repository }} :latest
0 commit comments