diff --git a/.github/workflows/goreleaser-fleet.yaml b/.github/workflows/goreleaser-fleet.yaml index 0db71f3b0e..d1e61904af 100644 --- a/.github/workflows/goreleaser-fleet.yaml +++ b/.github/workflows/goreleaser-fleet.yaml @@ -124,6 +124,19 @@ jobs: subject-name: "docker.io/fleetdm/fleetctl" push-to-registry: true + - name: Update fleetdm/fleet:latest and fleetdm/fleetctl:latest + run: | + highest_release=$(gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/fleetdm/fleet/releases | jq -r '.[].tag_name' | sort -r | head -n 1 | sed -e "s/^fleet-//") + tag=${{ steps.docker.outputs.tag }} + if [[ $(printf "$highest_release\n$tag" | sort -r | head -n 1) = "$tag" ]]; then + docker tag fleetdm/fleet:$tag fleetdm/fleet:latest + docker push fleetdm/fleet:latest + docker tag fleetdm/fleetctl:$tag fleetdm/fleetctl:latest + docker push fleetdm/fleetctl:latest + else + echo "Skipping tagging of fleetdm/fleet:latest and fleetdm/fleetctl:latest because existing release $highest_release is higher than $tag" + fi + - name: List tags for push run: | echo "The following TAGs are to be pushed: ${{ steps.docker.outputs.TAG }}" @@ -138,6 +151,6 @@ jobs: - name: Tag and push to quay.io run: | for TAG in ${{ steps.docker.outputs.TAG }}; do - docker tag fleetdm/fleet:${TAG} quay.io/fleetdm/fleet:${TAG} - docker push quay.io/fleetdm/fleet:${TAG} + docker tag fleetdm/fleet:${TAG} quay.io/fleetdm/fleet:${TAG} + docker push quay.io/fleetdm/fleet:${TAG} done diff --git a/.goreleaser.yml b/.goreleaser.yml index b2d3823768..ed8438d9e2 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -119,10 +119,8 @@ dockers: - fleetctl dockerfile: tools/fleet-docker/Dockerfile image_templates: - - 'fleetdm/fleet:latest' - - 'fleetdm/fleet:{{ .Tag }}' - - 'fleetdm/fleet:{{ .Tag }}' - - 'fleetdm/fleet:v{{ .Major }}' + - "fleetdm/fleet:{{ .Tag }}" + - "fleetdm/fleet:v{{ .Major }}" - goos: linux goarch: amd64 @@ -132,13 +130,11 @@ dockers: build_flag_templates: - "--build-arg=binpath=fleetctl" image_templates: - - 'fleetdm/fleetctl:latest' - - 'fleetdm/fleetctl:{{ .Tag }}' - - 'fleetdm/fleetctl:{{ .Tag }}' - - 'fleetdm/fleetctl:v{{ .Major }}' + - "fleetdm/fleetctl:{{ .Tag }}" + - "fleetdm/fleetctl:v{{ .Major }}" checksum: - name_template: 'checksums.txt' + name_template: "checksums.txt" snapshot: version_template: "{{ .Tag }}-untagged"