Skip to content

Commit

Permalink
feat: add default deployment tag / image-uri
Browse files Browse the repository at this point in the history
Adds ability contruct a image-uri using a deployment tag, accessed via
workflow outputs and/or artifacts.
  • Loading branch information
wilsonjord committed Jun 6, 2024
1 parent 3985c68 commit b2082df
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions .github/workflows/reusable-docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ on:
- latest,20230607,git-deadb33f
- cooltag,v2.0.2
- latest
deploymentTagOverride:
required: false
type: string
description: |
overrides the default deployment tag.
buildArgs:
required: false
type: string
Expand Down Expand Up @@ -136,12 +141,16 @@ on:
outputs:
image:
value: ${{ jobs.build.outputs.image }}
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 +164,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 +186,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 +245,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 @@ -352,11 +367,20 @@ jobs:
echo "${DESTINATION_DIGEST}"
) | column -t
echo "destination=${DESTINATION_DIGEST}" >> $GITHUB_OUTPUT
- name: image
if: ${{ inputs.push == true }}
- name: Generate image URI
id: image
env:
IMAGE_URI: ${{ steps.run-info.outputs.image }}:${{ steps.deployment-tag.outputs.tag }}
run: |
echo "image=${{ steps.run-info.outputs.image }}@${{ steps.get-digests.outputs.destination }}" >> $GITHUB_OUTPUT
echo "image=$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 b2082df

Please sign in to comment.