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_ENV echo "::set-output name=version::$version" 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 }} files: ./winutil.ps1 prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}