77 branches : [ main ]
88
99env :
10- REGISTRY : ghcr.io
1110 IMAGE_NAME : ${{ github.repository }}
1211
1312jobs :
1413 build-and-push-image :
1514 runs-on : ubuntu-latest
1615 strategy :
1716 matrix :
18- variant : [ cuda, cpu ]
17+ include :
18+ - registry : ghcr.io
19+ username : ${{ github.actor }}
20+ password : ${{ secrets.GITHUB_TOKEN }}
21+ variant : cpu
22+ dockerfile : Dockerfile
23+ - registry : ghcr.io
24+ username : ${{ github.actor }}
25+ password : ${{ secrets.GITHUB_TOKEN }}
26+ variant : cuda
27+ dockerfile : Dockerfile.cuda
28+ - registry : docker.io
29+ username : ${{ secrets.DOCKERHUB_USERNAME }}
30+ password : ${{ secrets.DOCKERHUB_TOKEN }}
31+ variant : cpu
32+ dockerfile : Dockerfile
33+ - registry : docker.io
34+ username : ${{ secrets.DOCKERHUB_USERNAME }}
35+ password : ${{ secrets.DOCKERHUB_TOKEN }}
36+ variant : cuda
37+ dockerfile : Dockerfile.cuda
1938 permissions :
2039 contents : read
2140 packages : write
@@ -25,18 +44,26 @@ jobs:
2544 - name : Checkout repository
2645 uses : actions/checkout@v4
2746
47+ - name : Set image name
48+ run : |
49+ if [ "${{ matrix.registry }}" = "docker.io" ]; then
50+ echo "FULL_IMAGE_NAME=nordwestt/kokoro-wyoming" >> $GITHUB_ENV
51+ else
52+ echo "FULL_IMAGE_NAME=${{ matrix.registry }}/${{ env.IMAGE_NAME }}" >> $GITHUB_ENV
53+ fi
54+
2855 - name : Log in to the Container registry
2956 uses : docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
3057 with :
31- registry : ${{ env.REGISTRY }}
32- username : ${{ github.actor }}
33- password : ${{ secrets.GITHUB_TOKEN }}
58+ registry : ${{ matrix.registry }}
59+ username : ${{ matrix.username }}
60+ password : ${{ matrix.password }}
3461
3562 - name : Extract metadata (tags, labels) for Docker
3663 id : meta
3764 uses : docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
3865 with :
39- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
66+ images : ${{ env.FULL_IMAGE_NAME }}
4067 tags : |
4168 type=ref,event=tag
4269 type=ref,event=branch
@@ -48,14 +75,15 @@ jobs:
4875 uses : docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
4976 with :
5077 context : .
51- file : ${{ matrix.variant == 'cuda' && 'Dockerfile.cuda' || 'Dockerfile' }}
78+ file : ${{ matrix.dockerfile }}
5279 push : true
5380 tags : ${{ steps.meta.outputs.tags }}
5481 labels : ${{ steps.meta.outputs.labels }}
5582
5683 - name : Generate artifact attestation
84+ if : matrix.registry == 'ghcr.io'
5785 uses : actions/attest-build-provenance@v2
5886 with :
59- subject-name : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
87+ subject-name : ${{ env.FULL_IMAGE_NAME }}
6088 subject-digest : ${{ steps.push.outputs.digest }}
6189 push-to-registry : true
0 commit comments