ci(docker): distinguish docker_ref and git_ref inputs (#8874)

Refs #8873
This commit is contained in:
Vladimír Gorej
2023-06-02 12:44:22 +02:00
committed by GitHub
parent 56838ede26
commit ad405d0cd1

View File

@@ -4,8 +4,12 @@ name: Build & Push SwaggerUI multi platform Docker image
on:
workflow_dispatch:
inputs:
tag:
description: Git tag
git_ref:
description: Git branch, tag or SHA to checkout.
type: string
required: true
docker_tag:
description: Docker tag associated with the `git_ref`
type: string
required: true
@@ -13,6 +17,22 @@ env:
REGISTRY_IMAGE: swaggerapi/swagger-ui
jobs:
inputs:
name: Normalize inputs
runs-on: ubuntu-latest
outputs:
git_ref: ${{ steps.workflow_dispatch.outputs.git_ref }}
docker_tag: ${{ steps.workflow_dispatch.outputs.git_ref }}
steps:
- name: Set up environment variables for `workflow_dispatch` event
id: workflow_dispatch
if: ${{ github.event_name == 'workflow_dispatch' }}
run: |
echo "git_ref=${{ inputs.git_ref }}" >> "$GITHUB_OUTPUT"
echo "docker_tag=${{ inputs.docker_tag }}" >> "$GITHUB_OUTPUT"
build:
name: Build & Push SwaggerUI platform specific Docker images
runs-on: ubuntu-latest
@@ -27,11 +47,13 @@ jobs:
- linux/386
- linux/ppc64le
- linux/s390x
needs:
- inputs
steps:
- uses: actions/checkout@v3
with:
ref: ${{ inputs.tag }}
ref: ${{ needs.inputs.outputs.git_ref }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
@@ -39,12 +61,6 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY_IMAGE }}
- name: Log in to DockerHub
uses: docker/login-action@v2
with:
@@ -78,6 +94,7 @@ jobs:
name: Merge platform specific Docker image into multi platform image
runs-on: ubuntu-latest
needs:
- inputs
- build
steps:
@@ -99,10 +116,10 @@ jobs:
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create -t ${{ env.REGISTRY_IMAGE }}:${{ inputs.tag }} \
${{ env.REGISTRY_IMAGE }}:${{ inputs.tag }} \
docker buildx imagetools create -t ${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }} \
${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }} \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ inputs.tag }}
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }}