name: Pre-Release WinUtil on: workflow_run: workflows: ["Compile"] #Ensure Compile winget.ps1 is done types: - completed workflow_dispatch: # Manual trigger added jobs: build-runspace: runs-on: windows-latest outputs: version: ${{ steps.extract_version.outputs.version }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Extract Version from winutil.ps1 id: extract_version run: | $version = '' Get-Content ./winutil.ps1 -TotalCount 30 | ForEach-Object { if ($_ -match 'Version\s*:\s*(\d{2}\.\d{2}\.\d{2})') { $version = "pre"+$matches[1] echo "version=$version" >> $GITHUB_OUTPUT break } } if (-not $version) { Write-Error "Version not found in winutil.ps1" exit 1 } git tag $version git push origin $version shell: pwsh - name: Create and Upload Release id: create_release uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.extract_version.outputs.version }} name: Pre-Release ${{ steps.extract_version.outputs.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 }}