feat: Set PROGRAM_VERSION in dotnet publish and msix
This commit is contained in:
parent
32ee96c039
commit
dfab4f4a33
2 changed files with 61 additions and 17 deletions
30
.github/workflows/linux-release.yml
vendored
30
.github/workflows/linux-release.yml
vendored
|
|
@ -70,14 +70,25 @@ jobs:
|
|||
with:
|
||||
dotnet-version: 10.0.x
|
||||
|
||||
- name: Set Version
|
||||
id: version
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
|
||||
VERSION="${GITHUB_REF_NAME#v}"
|
||||
else
|
||||
VERSION="0.2.0-dev"
|
||||
fi
|
||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Publish agent
|
||||
run: dotnet publish src/ServerMonitorManager.Agent/ServerMonitorManager.Agent.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -o out/agent
|
||||
run: dotnet publish src/ServerMonitorManager.Agent/ServerMonitorManager.Agent.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -p:Version=${{ steps.version.outputs.version }} -o out/agent
|
||||
|
||||
- name: Publish control
|
||||
run: dotnet publish src/ServerMonitorManager.Control/ServerMonitorManager.Control.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -o out/control
|
||||
run: dotnet publish src/ServerMonitorManager.Control/ServerMonitorManager.Control.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -p:Version=${{ steps.version.outputs.version }} -o out/control
|
||||
|
||||
- name: Publish provisioning helper
|
||||
run: dotnet publish src/ServerMonitorManager.Provisioning.Helper/ServerMonitorManager.Provisioning.Helper.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -o out/provisioning-helper
|
||||
run: dotnet publish src/ServerMonitorManager.Provisioning.Helper/ServerMonitorManager.Provisioning.Helper.csproj --configuration Release --runtime ${{ matrix.runtime }} --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:RestoreLockedMode=true -p:Version=${{ steps.version.outputs.version }} -o out/provisioning-helper
|
||||
|
||||
- name: Package
|
||||
shell: bash
|
||||
|
|
@ -146,9 +157,20 @@ jobs:
|
|||
"test_certificate=true" >> $env:GITHUB_OUTPUT
|
||||
}
|
||||
|
||||
- name: Set Version
|
||||
id: version
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
|
||||
VERSION="${GITHUB_REF_NAME#v}"
|
||||
else
|
||||
VERSION="0.2.0-dev"
|
||||
fi
|
||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build signed MSIX
|
||||
shell: pwsh
|
||||
run: ./build/windows/Build-Installer.ps1 -CertificatePath '${{ steps.signing.outputs.certificate }}' -CertificatePassword '${{ steps.signing.outputs.password }}'
|
||||
run: ./build/windows/Build-Installer.ps1 -CertificatePath '${{ steps.signing.outputs.certificate }}' -CertificatePassword '${{ steps.signing.outputs.password }}' -Version '${{ steps.version.outputs.version }}'
|
||||
|
||||
- name: Include test certificate
|
||||
if: steps.signing.outputs.test_certificate == 'true'
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ param(
|
|||
[Parameter(Mandatory = $true)]
|
||||
[string]$CertificatePassword,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$Version,
|
||||
|
||||
[string]$OutputDirectory = 'artifacts/windows-installer'
|
||||
)
|
||||
|
||||
|
|
@ -38,19 +41,38 @@ try {
|
|||
dotnet restore $project -p:Platform=x64 -p:PublishReadyToRun=false -p:RestoreLockedMode=true
|
||||
if ($LASTEXITCODE -ne 0) { throw 'dotnet restore failed' }
|
||||
|
||||
dotnet publish $project `
|
||||
--configuration Release `
|
||||
--runtime win-x64 `
|
||||
--no-restore `
|
||||
-p:Platform=x64 `
|
||||
-p:PublishReadyToRun=false `
|
||||
-p:GenerateAppxPackageOnBuild=true `
|
||||
-p:AppxPackageSigningEnabled=true `
|
||||
-p:PackageCertificateThumbprint=$($signingCertificate.Thumbprint) `
|
||||
-p:AppxBundle=Never `
|
||||
-p:AppxSymbolPackageEnabled=false `
|
||||
-p:UapAppxPackageBuildMode=SideloadOnly `
|
||||
-p:AppxPackageDir="$appPackages\"
|
||||
if ($Version) {
|
||||
$dotnetArgs += "-p:Version=$Version"
|
||||
$dotnetArgs += "-p:AppxPackageVersion=$Version.0"
|
||||
dotnet publish $project `
|
||||
--configuration Release `
|
||||
--runtime win-x64 `
|
||||
--no-restore `
|
||||
-p:Platform=x64 `
|
||||
-p:PublishReadyToRun=false `
|
||||
-p:GenerateAppxPackageOnBuild=true `
|
||||
-p:AppxPackageSigningEnabled=true `
|
||||
-p:PackageCertificateThumbprint=$($signingCertificate.Thumbprint) `
|
||||
-p:AppxBundle=Never `
|
||||
-p:AppxSymbolPackageEnabled=false `
|
||||
-p:UapAppxPackageBuildMode=SideloadOnly `
|
||||
-p:AppxPackageDir="$appPackages\" `
|
||||
-p:Version=$Version
|
||||
} else {
|
||||
dotnet publish $project `
|
||||
--configuration Release `
|
||||
--runtime win-x64 `
|
||||
--no-restore `
|
||||
-p:Platform=x64 `
|
||||
-p:PublishReadyToRun=false `
|
||||
-p:GenerateAppxPackageOnBuild=true `
|
||||
-p:AppxPackageSigningEnabled=true `
|
||||
-p:PackageCertificateThumbprint=$($signingCertificate.Thumbprint) `
|
||||
-p:AppxBundle=Never `
|
||||
-p:AppxSymbolPackageEnabled=false `
|
||||
-p:UapAppxPackageBuildMode=SideloadOnly `
|
||||
-p:AppxPackageDir="$appPackages\"
|
||||
}
|
||||
if ($LASTEXITCODE -ne 0) { throw 'dotnet publish failed' }
|
||||
|
||||
$package = Get-ChildItem -LiteralPath $appPackages -Recurse -File |
|
||||
|
|
|
|||
Loading…
Reference in a new issue