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

name: Create Voyager Release

jobs:
  parse-tag:
    runs-on: ubuntu-latest
    outputs:
      semver: ${{ steps.parse.outputs.semver }}
    steps:
      - name: Extract Semver
        id: parse
        run: |
          semver=${TAG#"refs/tags/v"}
          semver=${semver%"-voyager"}
          echo "semver=$semver" >> "$GITHUB_OUTPUT"
        env:
          TAG: ${{ github.ref }}

  gate:
    needs: parse-tag
    uses: dxworks/pipelines/.github/workflows/release-gate.yml@v1
    with:
      java-version: '21'

  archive:
    needs: [parse-tag, gate]
    uses: dxworks/pipelines/.github/workflows/release-archive.yml@v1
    with:
      version: ${{ needs.parse-tag.outputs.semver }}
      java-version: '21'
      prepare-script: ./scripts/prepare-release-voyager.sh

  github-release:
    needs: [parse-tag, archive]
    permissions:
      contents: write
    uses: dxworks/pipelines/.github/workflows/release-github.yml@v1
    with:
      version: ${{ needs.parse-tag.outputs.semver }}
      tag: v${{ needs.parse-tag.outputs.semver }}-voyager
      release-name: Inspector Git ${{ needs.parse-tag.outputs.semver }} (Voyager)
      asset-name: iglog-voyager.zip
      release-notes-file: releaseNotes/v${{ needs.parse-tag.outputs.semver }}.md
