name: Release WinUtil on: 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 = $matches[1] echo "version=$version" >> $GITHUB_OUTPUT break } } if (-not $version) { Write-Error "Version not found in winutil.ps1" exit 1 } 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: 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: true files: ./winutil.ps1 prerelease: false make_latest: "true" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}