Skip to content

Release UWP

Release UWP #6

Workflow file for this run

name: Release UWP
on:
workflow_dispatch:
inputs:
version:
description: "version(without v)"
required: true
default: "0.0.0.0"
env:
SigningCertificate: Lavcode.Uwp_TemporaryKey.pfx
Project_Path: src\Lavcode.Uwp\Lavcode.Uwp.csproj
UWP_Project_Directory: src\Lavcode.Uwp
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
release-bundle:
runs-on: windows-2019
steps:
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: release-drafter/release-drafter@v5
name: Create release draft
id: release-drafter
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.3
- name: Update manifest version
run: |
[xml]$manifest = get-content ".\$env:UWP_Project_Directory\Package.appxmanifest"
$manifest.Package.Identity.Version = "${{github.event.inputs.version}}"
$manifest.save(".\$env:UWP_Project_Directory\Package.appxmanifest")
- name: Build Bundle
run: msbuild $env:Project_Path /p:Platform=x86 /p:AppxBundlePlatforms="x86|x64|arm|arm64" /p:AppxPackageDir=C:\Package\Bundle /p:PackageCertificateKeyFile=$env:SigningCertificate /restore
env:
AppxBundle: Always
BuildMode: StoreUpload
Configuration: Release
- name: Create Bundle archive
run: Compress-Archive -Path C:\Package\Bundle\Lavcode.Uwp_${{github.event.inputs.version}}_Test -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_Bundle.zip
- name: Create msixupload archive
run: Compress-Archive -Path C:\Package\Bundle\Lavcode.Uwp_${{github.event.inputs.version}}_x86_x64_arm_arm64_bundle.msixupload -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_msixupload.zip
- name: Update msixupload release asset
id: upload-release-asset-msixupload
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_msixupload.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_msixupload.zip
asset_content_type: application/zip
- name: Update Bundle release asset
id: upload-release-asset-bundle
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_Bundle.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_Bundle.zip
asset_content_type: application/zip
release-x86:
runs-on: windows-2019
steps:
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: release-drafter/release-drafter@v5
name: Create release draft
id: release-drafter
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.3
- name: Update manifest version
run: |
[xml]$manifest = get-content ".\$env:UWP_Project_Directory\Package.appxmanifest"
$manifest.Package.Identity.Version = "${{github.event.inputs.version}}"
$manifest.save(".\$env:UWP_Project_Directory\Package.appxmanifest")
- name: Build
run: msbuild $env:Project_Path /p:Platform=x86 /p:AppxBundlePlatforms="x86" /p:AppxPackageDir=C:\Package\x86 /p:PackageCertificateKeyFile=$env:SigningCertificate /restore
env:
BuildMode: SideloadOnly
Configuration: Release
- name: Create archive
run: Compress-Archive -Path C:\Package\x86\Lavcode.Uwp_${{github.event.inputs.version}}_Test -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_x86.zip
- name: Update release asset
id: upload-release-asset-x86
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_x86.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_x86.zip
asset_content_type: application/zip
release-x64:
runs-on: windows-2019
steps:
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: release-drafter/release-drafter@v5
name: Create release draft
id: release-drafter
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.3
- name: Update manifest version
run: |
[xml]$manifest = get-content ".\$env:UWP_Project_Directory\Package.appxmanifest"
$manifest.Package.Identity.Version = "${{github.event.inputs.version}}"
$manifest.save(".\$env:UWP_Project_Directory\Package.appxmanifest")
- name: Build
run: msbuild $env:Project_Path /p:Platform=x64 /p:AppxBundlePlatforms="x64" /p:AppxPackageDir=C:\Package\x64 /p:PackageCertificateKeyFile=$env:SigningCertificate /restore
env:
BuildMode: SideloadOnly
Configuration: Release
- name: Create archive
run: Compress-Archive -Path C:\Package\x64\Lavcode.Uwp_${{github.event.inputs.version}}_Test -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_x64.zip
- name: Update release asset
id: upload-release-asset-x64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_x64.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_x64.zip
asset_content_type: application/zip
release-arm:
runs-on: windows-2019
steps:
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: release-drafter/release-drafter@v5
name: Create release draft
id: release-drafter
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.3
- name: Update manifest version
run: |
[xml]$manifest = get-content ".\$env:UWP_Project_Directory\Package.appxmanifest"
$manifest.Package.Identity.Version = "${{github.event.inputs.version}}"
$manifest.save(".\$env:UWP_Project_Directory\Package.appxmanifest")
- name: Build
run: msbuild $env:Project_Path /p:Platform=ARM /p:AppxBundlePlatforms="ARM" /p:AppxPackageDir=C:\Package\ARM /p:PackageCertificateKeyFile=$env:SigningCertificate /restore
env:
BuildMode: SideloadOnly
Configuration: Release
- name: Create archive
run: Compress-Archive -Path C:\Package\ARM\Lavcode.Uwp_${{github.event.inputs.version}}_Test -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_ARM.zip
- name: Update release asset
id: upload-release-asset-ARM
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_ARM.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_ARM.zip
asset_content_type: application/zip
release-arm64:
runs-on: windows-2019
steps:
- name: Configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 32GB
maximum-size: 32GB
disk-root: "C:"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: release-drafter/release-drafter@v5
name: Create release draft
id: release-drafter
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.3
- name: Update manifest version
run: |
[xml]$manifest = get-content ".\$env:UWP_Project_Directory\Package.appxmanifest"
$manifest.Package.Identity.Version = "${{github.event.inputs.version}}"
$manifest.save(".\$env:UWP_Project_Directory\Package.appxmanifest")
- name: Build
run: msbuild $env:Project_Path /p:Platform=ARM64 /p:AppxBundlePlatforms="ARM64" /p:AppxPackageDir=C:\Package\ARM64 /p:PackageCertificateKeyFile=$env:SigningCertificate /restore
env:
BuildMode: SideloadOnly
Configuration: Release
- name: Create archive
run: Compress-Archive -Path C:\Package\ARM64\Lavcode.Uwp_${{github.event.inputs.version}}_Test -DestinationPath C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_ARM64.zip
- name: Update release asset
id: upload-release-asset-ARM64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release-drafter.outputs.upload_url }}
asset_path: C:\Package\Lavcode.Uwp_${{github.event.inputs.version}}_ARM64.zip
asset_name: Lavcode.Uwp_${{github.event.inputs.version}}_ARM64.zip
asset_content_type: application/zip