32
32
outputs :
33
33
lowercase-github-repository : ${{ steps.convert.outputs.lowercase }}
34
34
steps :
35
- - name : Convert repository name to lowercase
35
+ - name : Convert GitHub repository name to lowercase for OCI registry
36
36
id : convert
37
37
run : |
38
38
echo "lowercase=$(echo '${{ github.repository }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
42
42
needs : set-lowercase-repository
43
43
runs-on : ubuntu-latest
44
44
steps :
45
- - name : Access lowercase repository name
45
+ - name : Access lowercase GitHub repository name
46
46
run : |
47
47
echo "Original Repository: ${{ github.repository }}"
48
48
echo "Lowercase Repository: ${{ needs.set-lowercase-repository.outputs.lowercase-github-repository }}"
@@ -87,12 +87,16 @@ jobs:
87
87
username : ${{ github.actor }}
88
88
password : ${{ secrets.GITHUB_TOKEN }}
89
89
90
+ - name : Set OCI container image URL to Github output
91
+ id : set-oci-image-url
92
+ run : echo "OCI_IMAGE_URL=${{ env.OCI_REGISTRY }}/${{ needs.set-lowercase-repository.outputs.lowercase-github-repository }}-base" >> $GITHUB_OUTPUT
93
+
90
94
- name : Container metadata and tags
91
95
id : metadata
92
96
uses : docker/metadata-action@v5
93
97
with :
94
98
# image name may contain lowercase letters, digits and separators https://github.com/docker/metadata-action/tree/v5/?tab=readme-ov-file#image-name-and-tag-sanitization
95
- images : ${{ env.OCI_REGISTRY }}/${{ needs. set-lowercase-repository .outputs.lowercase-github-repository }}-base
99
+ images : ${{ steps. set-oci-image-url .outputs.oci_image_url }}
96
100
tags : |
97
101
type=ref,event=branch
98
102
# use tools version as tags
@@ -115,7 +119,7 @@ jobs:
115
119
# full length sha
116
120
type=sha,format=long
117
121
118
- - name : Build the OCI image (base image entrytoint /bin/bash)
122
+ - name : Build the OCI image (base image entrypoint /bin/bash)
119
123
id : kaniko
120
124
uses : int128/kaniko-action@v1
121
125
with :
@@ -130,11 +134,11 @@ jobs:
130
134
131
135
outputs :
132
136
oci-image-digest : ${{ steps.kaniko.outputs.digest }}
133
- oci-image-url : ${{ steps.metadata .outputs.images }} # needs to be lowercase
137
+ oci-image-url : ${{ steps.set-oci-image-url .outputs.oci_image_url }} # needs to be lowercase
134
138
135
139
# Job to build a SLSA provenance attestation
136
140
base-image-provenance :
137
- name : Generate SLSA provenance attestation for OCI
141
+ name : Generate SLSA provenance attestation for OCI (base image entrypoint /bin/bash)
138
142
needs : [build-base-image, set-lowercase-repository] # Ensure this job runs after build-base-image
139
143
permissions :
140
144
actions : read # for detecting the Github Actions environment.
@@ -189,12 +193,16 @@ jobs:
189
193
username : ${{ github.actor }}
190
194
password : ${{ secrets.GITHUB_TOKEN }}
191
195
196
+ - name : Set OCI container image URL to Github output
197
+ id : set-oci-image-url
198
+ run : echo "OCI_IMAGE_URL=${{ env.OCI_REGISTRY }}/${{ needs.set-lowercase-repository.outputs.lowercase-github-repository }}" >> $GITHUB_OUTPUT
199
+
192
200
- name : Container metadata and tags
193
201
id : metadata
194
202
uses : docker/metadata-action@v5
195
203
with :
196
204
# image name may contain lowercase letters, digits and separators https://github.com/docker/metadata-action/tree/v5/?tab=readme-ov-file#image-name-and-tag-sanitization
197
- images : ${{ env.OCI_REGISTRY }}/${{ needs. set-lowercase-repository .outputs.lowercase-github-repository }}
205
+ images : ${{ steps. set-oci-image-url .outputs.oci_image_url }}
198
206
tags : |
199
207
type=ref,event=branch
200
208
# use tools version as tags
@@ -232,11 +240,11 @@ jobs:
232
240
233
241
outputs :
234
242
oci-image-digest : ${{ steps.kaniko.outputs.digest }}
235
- oci-image-url : ${{ steps.metadata .outputs.images }} # needs to be lowercase
243
+ oci-image-url : ${{ steps.set-oci-image-url .outputs.oci_image_url }} # needs to be lowercase
236
244
237
245
goreleaser-entryp-image-provenance :
238
- name : Generate SLSA provenance attestation for OCI
239
- needs : [build-goreleaser-entryp-image, set-lowercase-repository ] # Ensure this job runs after build-base-image
246
+ name : Generate SLSA provenance attestation for OCI (entrypoint goreleaser)
247
+ needs : [build-goreleaser-entryp-image] # Ensure this job runs after build-base-image
240
248
permissions :
241
249
actions : read # for detecting the Github Actions environment.
242
250
id-token : write # for creating OIDC tokens for signing. Required for SLSA and Cosign
0 commit comments