pomerium/.github/workflows/release.yaml
2020-07-31 12:36:39 -04:00

62 lines
1.7 KiB
YAML

name: Release
on:
release:
types:
- published
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Unshallow
run: git fetch --prune --unshallow
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.14.x
- name: Set up Docker
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- uses: azure/docker-login@v1
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
project_id: pomerium-io
service_account_key: ${{ secrets.GCP_SERVICE_ACCOUNT }}
- name: Gcloud login
run: gcloud auth configure-docker
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v1
with:
version: latest
args: release --config .github/goreleaser.yaml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get tag name
id: tagName
uses: olegtarasov/get-tag@v1
- name: Find latest tag
id: latestTag
run: |
LATEST_TAG=$(git tag | grep -vi 'rc' | sort --version-sort | tail -1)
echo "::set-env name=LATEST_TAG::$LATEST_TAG"
- name: Publish latest tag
if: "env.LATEST_TAG == steps.tagName.outputs.tag"
run: |
docker tag pomerium/pomerium:${{ env.LATEST_TAG }} pomerium/pomerium:latest
docker push pomerium/pomerium:latest
docker tag pomerium/pomerium:arm64v8-${{ env.LATEST_TAG }} pomerium/pomerium:arm64v8-latest
docker push pomerium/pomerium:arm64v8-latest