Skip to content

Commit

Permalink
Only login to docker registries immediately before pushing
Browse files Browse the repository at this point in the history
This prevents docker credentials from leaking into arbitrary test
code.

Change-type: patch
Signed-off-by: Kyle Harding <kyle@balena.io>
  • Loading branch information
klutchell committed Nov 24, 2022
1 parent 93cbfa3 commit 35e5beb
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 60 deletions.
56 changes: 28 additions & 28 deletions .github/workflows/flowzone.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

64 changes: 32 additions & 32 deletions flowzone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1046,22 +1046,6 @@ jobs:
- 5000:5000

steps:
- name: Login to GitHub Container Registry
continue-on-error: true
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ env.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN || secrets.FLOWZONE_TOKEN }}

- name: Login to Docker Hub
continue-on-error: true
uses: docker/login-action@v2
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USER || secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN || secrets.DOCKER_REGISTRY_PASS }}

- *downloadSourceArtifact
- *extractSourceArtifact

Expand Down Expand Up @@ -1160,6 +1144,22 @@ jobs:
if: join(fromJSON(needs.project_types.outputs.docker_images)) != '' && steps.compose_test.result == 'skipped'
run: echo "::warning::Publishing Docker images without docker compose tests!"

- name: Login to GitHub Container Registry
continue-on-error: true
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ env.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN || secrets.FLOWZONE_TOKEN }}

- name: Login to Docker Hub
continue-on-error: true
uses: docker/login-action@v2
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USER || secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN || secrets.DOCKER_REGISTRY_PASS }}

- name: Publish draft tags
if: join(fromJSON(needs.project_types.outputs.docker_images)) != ''
uses: akhilerm/tag-push-action@v2.0.0
Expand Down Expand Up @@ -1192,22 +1192,6 @@ jobs:
- *downloadSourceArtifact
- *extractSourceArtifact

- name: Login to GitHub Container Registry
continue-on-error: true
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ env.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN || secrets.FLOWZONE_TOKEN }}

- name: Login to Docker Hub
continue-on-error: true
uses: docker/login-action@v2
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USER || secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN || secrets.DOCKER_REGISTRY_PASS }}

- name: Set env vars
run: |
if [ ${{ matrix.target }} != 'default' ]
Expand Down Expand Up @@ -1249,6 +1233,22 @@ jobs:
latest=auto
prefix=${{ env.PREFIX }},onlatest=true
- name: Login to GitHub Container Registry
continue-on-error: true
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ env.GHCR_USER }}
password: ${{ secrets.GHCR_TOKEN || secrets.FLOWZONE_TOKEN }}

- name: Login to Docker Hub
continue-on-error: true
uses: docker/login-action@v2
with:
registry: docker.io
username: ${{ secrets.DOCKERHUB_USER || secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN || secrets.DOCKER_REGISTRY_PASS }}

# only one of the destination lines should have values based on the meta restrictions above
- name: Publish final tags
uses: akhilerm/tag-push-action@v2.0.0
Expand Down

0 comments on commit 35e5beb

Please sign in to comment.