Pre-Release WinUtil #167
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pre-Release WinUtil | |
| permissions: | |
| contents: write | |
| actions: read | |
| on: | |
| workflow_dispatch: # Manual trigger added | |
| jobs: | |
| build-runspace: | |
| runs-on: windows-latest | |
| env: | |
| CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v5 | |
| - name: Compile project | |
| shell: pwsh | |
| run: | | |
| Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1 | |
| continue-on-error: false # Directly fail the job on error, removing the need for a separate check | |
| - name: Set Version to Todays Date | |
| 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 ($tagExists -eq "") { | |
| git tag $env:VERSION | |
| if ($LASTEXITCODE -ne 0) { | |
| Write-Error "Failed to create tag $env:VERSION" | |
| exit 1 | |
| } | |
| git push origin $env:VERSION | |
| if ($LASTEXITCODE -ne 0) { | |
| Write-Error "Failed to push tag $env:VERSION" | |
| exit 1 | |
| } | |
| } else { | |
| Write-Host "Tag $env:VERSION already exists, skipping tag creation" | |
| } | |
| shell: pwsh | |
| - name: Generate Release Notes | |
| id: generate_notes | |
| uses: release-drafter/release-drafter@v6 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| config-name: release-drafter.yml | |
| version: ${{ env.VERSION }} # Pass the version variable | |
| - 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: | | |
| ${{ steps.generate_notes.outputs.body }} | |
|  | |
| append_body: false | |
| files: ./winutil.ps1 | |
| prerelease: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |