diff --git a/.github/workflows/pre-release.yaml b/.github/workflows/pre-release.yaml new file mode 100644 index 00000000..01b9a9f6 --- /dev/null +++ b/.github/workflows/pre-release.yaml @@ -0,0 +1,46 @@ +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 = $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: Pre-Release ${{ steps.extract_version.outputs.version }} + files: ./winutil.ps1 + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index fc3e679b..5bf217bb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,10 +1,6 @@ name: Release WinUtil on: - workflow_run: - workflows: ["Compile"] #Ensure Compile winget.ps1 is done - types: - - completed workflow_dispatch: # Manual trigger added jobs: @@ -41,5 +37,6 @@ jobs: 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 }}