77 flavor :
88 required : true
99 type : string
10+ secrets :
11+ DOCKERHUB_TOKEN :
12+ required : true
13+ PRIVATE_REPO_TOKEN :
14+ required : true
1015
1116permissions :
1217 contents : read
@@ -35,16 +40,28 @@ jobs:
3540 with :
3641 persist-credentials : false
3742 - uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
43+ <<<<<<< Updated upstream
44+ =======
45+ - name : Debug secret availability (build-push job)
46+ run : |
47+ echo "DOCKERHUB_USERNAME: ${{ vars.DOCKERHUB_USERNAME }}"
48+ echo "DOCKERHUB_TOKEN available: ${{ secrets.DOCKERHUB_TOKEN != '' }}"
49+ echo "GITHUB_TOKEN available: ${{ secrets.GITHUB_TOKEN != '' }}"
50+ echo "Running from PR: ${{ github.event_name == 'pull_request' }}"
51+ env :
52+ DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
53+ >>>>>>> Stashed changes
3854 - uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
3955 with :
40- username : ${{ vars.DOCKERHUB_USERNAME }}
41- password : ${{ secrets.DOCKERHUB_TOKEN }}
56+ registry : ghcr.io
57+ username : ${{ github.actor }}
58+ password : ${{ secrets.GITHUB_TOKEN }}
4259 - uses : docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
4360 env :
4461 DOCKER_METADATA_SET_OUTPUT_ENV : false
4562 id : metadata
4663 with :
47- images : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
64+ images : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}
4865 # Generate image LABEL for devcontainer.metadata
4966 # the sed expression is a workaround for quotes being eaten in arrays (e.g. ["x", "y", "z"] -> ["x",y,"z"])
5067 - run : echo "metadata=$(jq -cj '[.]' ".devcontainer/${CONTAINER_FLAVOR}/devcontainer-metadata-vscode.json" | sed 's/,"/, "/g')" >> "$GITHUB_OUTPUT"
6077 with :
6178 file : .devcontainer/${{ inputs.flavor }}/Dockerfile
6279 push : true
63- tags : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
80+ tags : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}
6481 labels : |
6582 ${{ steps.metadata.outputs.labels }}
6683 devcontainer.metadata=${{ steps.devcontainer-metadata.outputs.metadata }}
@@ -108,17 +125,29 @@ jobs:
108125 pattern : digests-${{ inputs.flavor }}-*
109126 merge-multiple : true
110127 - uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
128+ <<<<<<< Updated upstream
129+ =======
130+ - name : Debug secret availability (merge-image job)
131+ run : |
132+ echo "DOCKERHUB_USERNAME: ${{ vars.DOCKERHUB_USERNAME }}"
133+ echo "DOCKERHUB_TOKEN available: ${{ secrets.DOCKERHUB_TOKEN != '' }}"
134+ echo "GITHUB_TOKEN available: ${{ secrets.GITHUB_TOKEN != '' }}"
135+ echo "Running from PR: ${{ github.event_name == 'pull_request' }}"
136+ env :
137+ DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
138+ >>>>>>> Stashed changes
111139 - uses : docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
112140 with :
113- username : ${{ vars.DOCKERHUB_USERNAME }}
114- password : ${{ secrets.DOCKERHUB_TOKEN }}
141+ registry : ghcr.io
142+ username : ${{ github.actor }}
143+ password : ${{ secrets.GITHUB_TOKEN }}
115144 - uses : docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
116145 id : metadata
117146 env :
118147 DOCKER_METADATA_ANNOTATIONS_LEVELS : index
119148 DOCKER_METADATA_SET_OUTPUT_ENV : false
120149 with :
121- images : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}
150+ images : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}
122151 # Generate Docker tags based on the following events/attributes.
123152 # To prevent unnecessary image builds we simulate the `type=edge` tag
124153 # with `type=raw,value=edge,enable=...` which only enables the tag
@@ -137,12 +166,12 @@ jobs:
137166 # shellcheck disable=SC2046
138167 docker buildx imagetools create \
139168 $(echo '${{ steps.metadata.outputs.json }}' | jq -r '.tags | map("--tag " + .) | join(" ")') \
140- $(printf '${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}@sha256:%s ' *)
169+ $(printf 'ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}@sha256:%s ' *)
141170 - name : Inspect manifest and extract digest
142171 id : inspect-manifest
143172 run : |
144173 set -Eeuo pipefail
145- output=$(docker buildx imagetools inspect ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }} --format '{{json .}}')
174+ output=$(docker buildx imagetools inspect ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }} --format '{{json .}}')
146175 echo "digest=$(echo "$output" | jq -r '.manifest.digest // .manifests[0].digest')" >> "$GITHUB_OUTPUT"
147176 env :
148177 CONTAINER_VERSION : ${{ steps.metadata.outputs.version }}
@@ -153,8 +182,8 @@ jobs:
153182 chmod +x diffoci
154183 ./diffoci diff --semantic --report-file=container-diff.json "${FROM_CONTAINER}" "${TO_CONTAINER}" || true
155184 env:
156- FROM_CONTAINER: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:edge
157- TO_CONTAINER: ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
185+ FROM_CONTAINER: ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}:edge
186+ TO_CONTAINER: ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
158187 - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
159188 with :
160189 name : container-diff-${{ inputs.flavor }}
@@ -163,16 +192,16 @@ jobs:
163192 - uses : ./.github/actions/container-size-diff
164193 id : container-size-diff
165194 with :
166- from-container : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:edge
167- to-container : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
195+ from-container : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}:edge
196+ to-container : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}:${{ steps.metadata.outputs.version }}
168197 - uses : marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
169198 with :
170199 header : container-size-diff-${{ inputs.flavor }}
171200 message : |
172201 ${{ steps.container-size-diff.outputs.size-diff-markdown }}
173202 - uses : anchore/sbom-action@f8bdd1d8ac5e901a77a92f111440fdb1b593736b # v0.20.6
174203 with :
175- image : ${{ vars.DOCKERHUB_USERNAME }}/embedded-devcontainer-${{ inputs.flavor }}@${{ steps.inspect-manifest.outputs.digest }}
204+ image : ghcr.io/ ${{ github.repository_owner }}/embedded-devcontainer-${{ inputs.flavor }}@${{ steps.inspect-manifest.outputs.digest }}
176205 dependency-snapshot : true
177206 - uses : actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
178207 with :
0 commit comments