File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed
Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Create and publish a Docker image
2+
3+ # This workflow is wrote based on this document: https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions
4+
5+ on :
6+ push :
7+ tags :
8+ - ' v*'
9+
10+ env :
11+ REGISTRY : ghcr.io
12+ IMAGE_NAME : ${{ github.repository }}
13+
14+
15+ jobs :
16+ build-and-push-image :
17+ runs-on : ubuntu-latest
18+
19+ permissions :
20+ contents : read
21+ packages : write
22+ attestations : write
23+ id-token : write
24+
25+ steps :
26+ - name : Checkout repository
27+ uses : actions/checkout@v4
28+
29+ - name : Log in to the Container registry
30+ uses : docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
31+ with :
32+ registry : ${{ env.REGISTRY }}
33+ username : ${{ github.actor }}
34+ password : ${{ secrets.GITHUB_TOKEN }}
35+
36+ - name : Extract metadata (tags, labels) for Docker
37+ id : meta
38+ uses : docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
39+ with :
40+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
41+
42+ - name : Build and push Docker image
43+ id : push
44+ uses : docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
45+ with :
46+ context : .
47+ push : true
48+ tags : ${{ steps.meta.outputs.tags }}
49+ labels : ${{ steps.meta.outputs.labels }}
50+
51+ - name : Generate artifact attestation
52+ uses : actions/attest-build-provenance@v1
53+ with :
54+ subject-name : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
55+ subject-digest : ${{ steps.push.outputs.digest }}
56+ push-to-registry : true
You can’t perform that action at this time.
0 commit comments