Generate Release #311
This file contains 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: Generate Release | |
on: | |
workflow_run: | |
workflows: | |
- 'Update Version' | |
types: | |
- 'completed' | |
jobs: | |
build-portable-release: | |
runs-on: windows-latest | |
if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
env: | |
DOTNET_NOLOGO: true | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
defaults: | |
run: | |
shell: | | |
pwsh -noninteractive -command "try {{ $ErrorActionPreference='Stop'; . '{0}' }} catch {{ Write-Error ""FAILED: $_""; throw; }} if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) {{ exit $LASTEXITCODE }}" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: '${{ github.ref }}' | |
- uses: actions/[email protected] | |
with: | |
dotnet-version: 6.0.x | |
- name: Create Staging Directory | |
run: mkdir "STAGING" | |
- name: Build VolumeControl Binary | |
run: dotnet publish VolumeControl -c Release -p:PublishProfile="VolumeControl/Properties/PublishProfiles/FolderProfile.pubxml" | |
- name: Stage Binary (Portable Version) | |
run: foreach($file in $((dir "publish" | where {$_.extension -in ".exe"}).Fullname)){ mv "$file" "STAGING" } | |
- name: Upload Executable Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: portable | |
path: '${{github.workspace}}/STAGING/*' | |
if-no-files-found: error | |
- name: Upload SDK Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: sdk | |
path: '${{github.workspace}}/publish/SDK/*' | |
if-no-files-found: error | |
build-installer-release: | |
runs-on: windows-latest | |
if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
env: | |
DOTNET_NOLOGO: true | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
defaults: | |
run: | |
shell: | | |
pwsh -noninteractive -command "try {{ $ErrorActionPreference='Stop'; . '{0}' }} catch {{ Write-Error ""FAILED: $_""; throw; }} if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) {{ exit $LASTEXITCODE }}" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: '${{ github.ref }}' | |
- uses: actions/[email protected] | |
with: | |
dotnet-version: 6.0.x | |
- name: Create Staging Directory | |
run: mkdir "STAGING" | |
- name: Prepare Installer Prerequisites | |
run: git clone https://github.com/DomGries/InnoDependencyInstaller | |
- name: Build VolumeControl Binary | |
run: dotnet publish VolumeControl -c Release-ForInstaller -p:PublishProfile="VolumeControl/Properties/PublishProfiles/PublishForInstaller.pubxml" | |
- name: Compile VolumeControl Installer | |
uses: Minionguyjpro/[email protected] | |
with: | |
path: vcsetup.iss | |
options: /Opublish | |
- name: Stage Installer | |
run: foreach($file in $((dir "publish" | where {$_.extension -in ".exe"}).Fullname)){ mv "$file" "STAGING" } | |
- name: Upload Executable Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: installer | |
path: '${{github.workspace}}/STAGING/*' | |
if-no-files-found: error | |
create-release: | |
needs: [ build-portable-release, build-installer-release ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: ${{github.workspace}} | |
- name: Create SDK Archive | |
run: | | |
zip -T9 ./SDK.zip sdk/* | |
rm -rf sdk | |
ls -lAghR | |
- name: 'Create Release' | |
uses: softprops/action-gh-release@v1 | |
with: | |
draft: true | |
fail_on_unmatched_files: true | |
files: | | |
**/*.exe | |
SDK.zip |