1+ ---
12name : Publish OCI Artifact
23
34on :
@@ -21,41 +22,41 @@ jobs:
2122 runs-on : ubuntu-latest
2223
2324 steps :
24- - name : Log in to the container registry
25- uses : docker/login-action@v3
26- with :
27- registry : ${{ env.REGISTRY }}
28- username : ${{ secrets.DOCKER_REGISTRY_USER }}
29- password : ${{ secrets.DOCKER_REGISTRY_TOKEN }}
30-
31- - name : Make tag
32- run : |
33- [ "${GITHUB_EVENT_NAME}" == 'pull_request' ] && echo "tag=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV || true
34- [ "${GITHUB_EVENT_NAME}" == 'release' ] && echo "tag=${GITHUB_REF##*/}" >> $GITHUB_ENV || true
35- [ "${GITHUB_EVENT_NAME}" == 'push' ] && echo "tag=latest" >> $GITHUB_ENV || true
36-
37- - name : Checkout
38- uses : actions/checkout@v6
39-
40- - name : Install Oras
41- uses : oras-project/setup-oras@v1
42-
43- - name : Install Cosign
44- uses : sigstore/cosign-installer@v3
45-
46- - name : Publish and sign
47- run : |
48- rm -rf .git
49- cd ..
50- tar -cpvzf ansible-role.tar.gz metal-roles
51-
52- digest=$(oras push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }} \
53- --artifact-type application/vnd.metal-stack.release-vector.v1 \
54- ansible-role.tar.gz:application/vnd.metal-stack.ansible-role.v1.tar+gzip \
55- --format go-template \
56- --template "{{ .digest }}")
57-
58- cosign sign --yes --key env://COSIGN_PRIVATE_KEY ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${digest}
59- env :
60- COSIGN_PRIVATE_KEY : ${{ secrets.COSIGN_PRIVATE_KEY }}
61- COSIGN_PASSWORD : ${{ secrets.COSIGN_PASSWORD }}
25+ - name : Log in to the container registry
26+ uses : docker/login-action@v3
27+ with :
28+ registry : ${{ env.REGISTRY }}
29+ username : ${{ secrets.DOCKER_REGISTRY_USER }}
30+ password : ${{ secrets.DOCKER_REGISTRY_TOKEN }}
31+
32+ - name : Make tag
33+ run : |
34+ [ "${GITHUB_EVENT_NAME}" == 'pull_request' ] && echo "tag=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV || true
35+ [ "${GITHUB_EVENT_NAME}" == 'release' ] && echo "tag=${GITHUB_REF##*/}" >> $GITHUB_ENV || true
36+ [ "${GITHUB_EVENT_NAME}" == 'push' ] && echo "tag=latest" >> $GITHUB_ENV || true
37+
38+ - name : Checkout
39+ uses : actions/checkout@v6
40+
41+ - name : Install Oras
42+ uses : oras-project/setup-oras@v1
43+
44+ - name : Install Cosign
45+ uses : sigstore/cosign-installer@v3
46+
47+ - name : Publish and sign
48+ run : |
49+ rm -rf .git
50+ cd ..
51+ tar -cpvzf ansible-role.tar.gz metal-roles
52+
53+ digest=$(oras push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }} \
54+ --artifact-type application/vnd.metal-stack.release-vector.v1 \
55+ ansible-role.tar.gz:application/vnd.metal-stack.ansible-role.v1.tar+gzip \
56+ --format go-template \
57+ --template "{{ .digest }}")
58+
59+ cosign sign --yes --key env://COSIGN_PRIVATE_KEY ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.tag }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${digest}
60+ env :
61+ COSIGN_PRIVATE_KEY : ${{ secrets.COSIGN_PRIVATE_KEY }}
62+ COSIGN_PASSWORD : ${{ secrets.COSIGN_PASSWORD }}
0 commit comments