Skip to content

Commit

Permalink
feat: add immutable tag as a default
Browse files Browse the repository at this point in the history
  • Loading branch information
wilsonjord committed May 29, 2024
1 parent 3985c68 commit da19033
Showing 1 changed file with 36 additions and 3 deletions.
39 changes: 36 additions & 3 deletions .github/workflows/reusable-docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,18 @@ on:
tags:
required: false
type: string
default: latest,git-${{ github.sha }}
default: latest,${{ github.sha }}
description: |
a comma separated list of tags to image tags.
e.g:
- latest,20230607,git-deadb33f
- cooltag,v2.0.2
- latest
deploymentTagOverride:
required: false
type: string
description: |
overrides the default deployement tag.
buildArgs:
required: false
type: string
Expand Down Expand Up @@ -136,12 +141,20 @@ on:
outputs:
image:
value: ${{ jobs.build.outputs.image }}
description: |
image uri based on digest
image-uri:
value: ${{ jobs.build.outputs.image-uri }}
description: |
image uri based on deployment tag
jobs:
build:
runs-on: ${{ inputs.runs-on }}
timeout-minutes: ${{ inputs.timeout-mins }}
outputs:
image: ${{ steps.image.outputs.image }}
image-uri: ${{ steps.image-uri.outputs.image-uri }}
steps:
- if: ${{ startsWith(github.repository, 'GeoNet/') == false }}
name: require GeoNet org
Expand All @@ -155,6 +168,12 @@ jobs:
with:
version: ${{ env.VERSION_CRANE }}
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: default-deployment-tag
uses: GeoNet/Actions/.github/actions/tagging@main
- name: Generate deployment tag # TODO can this be combined with default-deployment-tag step?
id: deployment-tag
run: |
echo "tag=${{ inputs.deploymentTagOverride == '' && steps.default-deployment-tag.outputs.tag || inputs.deploymentTagOverride }}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
with:
Expand All @@ -171,7 +190,7 @@ jobs:
DOCKERFILE: ${{ inputs.dockerfile }}
REGISTRY_OVERRIDE: ${{ inputs.registryOverride }}
REGISTRY_GHCR_USERNAME_OVERRIDE: ${{ inputs.registryGhcrUsernameOverride }}
TAGS: ${{ inputs.tags }}
TAGS: ${{ format('{0},{1}', inputs.tags, steps.deployment-tag.outputs.tag) }}
BUILD_ARGS: ${{ inputs.buildArgs }}
PLATFORMS: ${{ inputs.platforms }}
PUSH: ${{ inputs.push }}
Expand Down Expand Up @@ -230,7 +249,7 @@ jobs:
REGISTRY_OVERRIDE: ${{ inputs.registryOverride }}
GHCR_DOCKER_REPO: ghcr.io/${{ github.repository }}
IMAGE_NAME: ${{ inputs.imageName }}
TAGS: ${{ inputs.tags }}
TAGS: ${{ format('{0},{1}', inputs.tags, steps.deployment-tag.outputs.tag) }}
PLATFORMS: ${{ inputs.platforms }}
PUSH: ${{ inputs.push }}
run: |
Expand Down Expand Up @@ -357,6 +376,20 @@ jobs:
id: image
run: |
echo "image=${{ steps.run-info.outputs.image }}@${{ steps.get-digests.outputs.destination }}" >> $GITHUB_OUTPUT
- name: image-uri
id: image-uri
env:
IMAGE_URI: ${{ steps.run-info.outputs.image }}:${{ steps.deployment-tag.outputs.tag }}
run: |
echo "image-uri=$IMAGE_URI" >> $GITHUB_OUTPUT
echo $IMAGE_URI > imageinfo_${{ inputs.imageName}}${{ github.run_id }}${{ github.run_attempt }}.txt
- name: Upload imageinfo
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: ${{ inputs.imageName }}${{ github.run_id }}${{ github.run_attempt }}
path: imageinfo_${{ inputs.imageName }}${{ github.run_id }}${{ github.run_attempt }}.txt
if-no-files-found: error
retention-days: 1
- name: image result
if: ${{ inputs.push == true }}
id: result
Expand Down

0 comments on commit da19033

Please sign in to comment.