name: Release CLI Version on tag

on:
  push:
    tags:
      - 'v*.*.*'

jobs:
  release-cli:
    runs-on: macos-latest
    timeout-minutes: 360
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.16.x
      - name: Print Go Version
        run: go version
      - name: Decrypt Secrets
        env:
          SECRETS_PASSWORD: ${{ secrets.SECRETS_PASSWORD }}
        run: bash script/decrypt_secrets.sh
      - name: Install gon
        run: |
          wget https://github.com/mitchellh/gon/releases/download/v0.2.2/gon_0.2.2_macos.zip
          unzip gon_0.2.2_macos.zip
          mv gon /usr/local/bin/gon
          chmod +x /usr/local/bin/gon
      - name: Import GPG key
        id: import_gpg
        uses: crazy-max/ghaction-import-gpg@v3
        with:
          gpg-private-key: ${{ secrets.GPG_KEY }}
      - name: Run GoReleaser
        uses: goreleaser/goreleaser-action@v2
        timeout-minutes: 340
        with:
          version: latest
          args: release --rm-dist --skip-validate --parallelism=2
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          HC_APPLE_DEVELOPER_USER: ${{ secrets.HC_APPLE_DEVELOPER_USER }}
          HC_APPLE_DEVELOPER_PASSWORD: ${{ secrets.HC_APPLE_DEVELOPER_PASSWORD }}
          HC_APPLE_IDENTITY: ${{ secrets.HC_APPLE_IDENTITY }}
