name: Release YQ
on:
  push:
    tags:
      - 'v*'
      - 'draft-*'

jobs:
  publishGitRelease:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version: '^1.18'
      - name: Compile man page markup
        id: gen-man-page-md
        run: |
          ./scripts/generate-man-page-md.sh
          echo "::set-output name=man-page-md::man.md"

      - name: Get the version
        id: get_version
        run: echo ::set-output name=VERSION::${GITHUB_REF##*/}

      - name: Generate man page
        uses: docker://pandoc/core:2.14.2
        id: gen-man-page
        with:
          args: >-
            --standalone
            --to man
            --variable=title:"YQ"
            --variable=section:"1"
            --variable=header:"yq (https://github.com/mikefarah/yq/) version ${{ steps.get_version.outputs.VERSION }}"
            --variable=author:"Mike Farah"
            --output=yq.1
            ${{ steps.gen-man-page-md.outputs.man-page-md }}

      - name: Cross compile
        run: |
          sudo apt-get install rhash -y
          go install github.com/mitchellh/gox@v1.0.1
          mkdir -p build
          cp yq.1 build/yq.1
          ./scripts/xcompile.sh

      - name: Release
        uses: softprops/action-gh-release@v1
        with:
          files: build/*
          draft: true
          fail_on_unmatched_files: true