ci(docker): distinguish docker_ref and git_ref inputs (#8874)
Refs #8873
This commit is contained in:
41
.github/workflows/docker-build-push.yml
vendored
41
.github/workflows/docker-build-push.yml
vendored
@@ -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 }}
|
||||
|
||||
Reference in New Issue
Block a user