name: Pre-Release WinUtil

permissions:
  contents: write
  actions: read

on:
  workflow_run:
    workflows: ["Compile"]
    types:
      - completed
  workflow_dispatch: # Manual trigger added

jobs:
  build-runspace:
    runs-on: windows-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Extract Version from winutil.ps1
        id: extract_version
        run: |
          $version = (Get-Date -Format "yy.MM.dd")
          echo "version=$version" >> $env:GITHUB_ENV
        shell: pwsh

      - name: Create Tag
        id: create_tag
        run: |
          $tagExists = git tag -l $env:VERSION
          if (-not $tagExists) {
            git tag $env:VERSION
            git push origin $env:VERSION
          } else {
            Write-Host "Tag $env:VERSION already exists, skipping tag creation"
          }
        shell: pwsh

      - name: Create and Upload Release
        id: create_release
        uses: softprops/action-gh-release@v2
        with:
          tag_name: ${{ env.VERSION }}
          name: Pre-Release ${{ env.VERSION }}
          body: "![GitHub Downloads (specific asset, specific tag)](https://img.shields.io/github/downloads/ChrisTitusTech/winutil/${{ steps.extract_version.outputs.version }}/winutil.ps1)"
          append_body: false
          files: ./winutil.ps1
          prerelease: true
          generate_release_notes: true
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}