Release #123
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: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: '版本号' | |
required: true | |
default: '0.0.0.0' | |
enableX64: | |
description: '启用x64' | |
required: true | |
default: true | |
type: boolean | |
enableX64Native: | |
description: '启用x64Native' | |
required: true | |
default: true | |
type: boolean | |
enableX86: | |
description: '启用x86' | |
required: true | |
default: false | |
type: boolean | |
enableArm64: | |
description: '启用Arm64' | |
required: true | |
default: true | |
type: boolean | |
enableArm32: | |
description: '启用Arm32' | |
required: true | |
default: false | |
type: boolean | |
jobs: | |
release: | |
runs-on: windows-latest | |
env: | |
SigningCertificate: BiliLite.UWP_TemporaryKey.pfx | |
SigningCertificatePasswd: ${{ secrets.SIGNING_CERTIFICATE_PASSWD }} | |
Solution_Path: .\BiliLite.sln | |
AppName: BiliLite.Packages | |
UWP_Project_Directory: src\BiliLite.Packages | |
UWP_Project_Path: src\BiliLite.UWP\BiliLite.UWP.csproj | |
UWP_X64_Native_Project_Path: src\BiliLite.UWP\BiliLite.UWP.csproj.native | |
Win32_Project_Path: src\BiliLite.Win32Tools\BiliLite.Win32Tools.csproj | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
Webdav_addr: ${{ secrets.WEBDAV_ADDR }} | |
Webdav_auth: ${{ secrets.WEBDAV_AUTH }} | |
nuget_package_addr: ${{ secrets.NUGET_PACKAGE_ADDR }} | |
nuget_package: biliuwp-lite-nuget-packages.zip | |
steps: | |
- name: Configure Pagefile | |
uses: al-cheb/[email protected] | |
with: | |
minimum-size: 32GB | |
maximum-size: 32GB | |
disk-root: "C:" | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: EchoInput | |
run: | | |
echo 启用x64编译 ${{ github.event.inputs.enableX64 }} | |
echo 启用x86编译 ${{ github.event.inputs.enableX86 }} | |
echo 启用Arm64编译 ${{ github.event.inputs.enableArm64 }} | |
echo 启用Arm编译 ${{ github.event.inputs.enableArm32 }} | |
- name: Download and process necessary files | |
run: | | |
curl --location $env:Webdav_addr --header "$env:Webdav_auth" -o "$env:UWP_Project_Directory/$env:SigningCertificate" --insecure | |
curl --location $env:nuget_package_addr --header "$env:Webdav_auth" -o "$env:nuget_package" --insecure | |
Expand-Archive -path $env:nuget_package -DestinationPath ./ | |
cp -r ./packages ./src/ | |
- uses: release-drafter/release-drafter@v5 | |
name: Create release draft | |
id: release-drafter | |
- name: Setup MSBuild.exe | |
uses: microsoft/[email protected] | |
- name: Windows SDK Install | |
uses: ChristopheLav/[email protected] | |
with: | |
version-sdk: 18362 | |
features: 'OptionId.WindowsPerformanceToolkit,OptionId.WindowsDesktopDebuggers,OptionId.AvrfExternal,OptionId.NetFxSoftwareDevelopmentKit,OptionId.WindowsSoftwareLogoToolkit,OptionId.IpOverUsb,OptionId.MSIInstallTools,OptionId.SigningTools,OptionId.UWPManaged,OptionId.UWPCPP,OptionId.UWPLocalized,OptionId.DesktopCPPx86,OptionId.DesktopCPPx64,OptionId.DesktopCPParm,OptionId.DesktopCPParm64' | |
- 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: Create Package Directory | |
run: New-Item -ItemType Directory -Path C:\Package | |
- name: document processing | |
run: | | |
git clone https://github.com/ywmoyue/OnlinePageToPDF-Node.git | |
cd OnlinePageToPDF-Node | |
npm install | |
node index.js --waitTime=35000 --pageUrl="http://markdown.muyan233.top:352/?fileUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fywmoyue%2Fbiliuwp-lite%2Fdev%2Fdocument%2Finstall-readme.md" --pdfFilePath="安装教程.pdf" | |
cd .. | |
cp ./OnlinePageToPDF-Node/安装教程.pdf C:\Package\安装教程.pdf | |
- name: Build x64 | |
run: | | |
msbuild $env:UWP_Project_Directory /p:Platform=x64 /p:Configuration=Release /p:PackageCertificateKeyFile=$env:SigningCertificate /p:PackageCertificatePassword=$env:SigningCertificatePasswd /restore | |
env: | |
BuildMode: SideloadOnly | |
Configuration: Release | |
if: github.event.inputs.enableX64 == 'true' | |
- name: copy x64 document | |
run: cp C:\Package\安装教程.pdf ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test\安装教程.pdf | |
if: github.event.inputs.enableX64 == 'true' | |
- name: Remove x64 useless files | |
run: | | |
cd ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test | |
rm -r -fo *.appxsym | |
cd Dependencies | |
rm -r -fo arm,arm64,x86 | |
if: github.event.inputs.enableX64 == 'true' | |
- name: Create x64 archive | |
run: Compress-Archive -Path ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test -DestinationPath C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x64.zip | |
if: github.event.inputs.enableX64 == 'true' | |
- name: Update x64 release asset | |
id: upload-release-asset-x64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
if: github.event.inputs.enableX64 == 'true' | |
with: | |
upload_url: ${{ steps.release-drafter.outputs.upload_url }} | |
asset_path: C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x64.zip | |
asset_name: ${{env.AppName}}_${{github.event.inputs.version}}_x64.zip | |
asset_content_type: application/zip | |
- name: Set x64 native | |
run: | | |
rm $env:UWP_Project_Path | |
cp $env:UWP_X64_Native_Project_Path $env:UWP_Project_Path | |
if: github.event.inputs.enableX64Native == 'true' | |
- name: Build x64 native | |
run: | | |
msbuild $env:UWP_Project_Directory /p:Platform=x64 /p:Configuration=Release /p:PackageCertificateKeyFile=$env:SigningCertificate /p:PackageCertificatePassword=$env:SigningCertificatePasswd /restore | |
env: | |
BuildMode: SideloadOnly | |
Configuration: Release | |
if: github.event.inputs.enableX64Native == 'true' | |
- name: copy x64 native document | |
run: cp C:\Package\安装教程.pdf ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test\安装教程.pdf | |
if: github.event.inputs.enableX64Native == 'true' | |
- name: Remove x64 native useless files | |
run: | | |
cd ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test | |
rm -r -fo *.appxsym | |
cd Dependencies | |
rm -r -fo arm,arm64,x86 | |
if: github.event.inputs.enableX64Native == 'true' | |
- name: Create x64 native archive | |
run: Compress-Archive -Path ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x64_Test -DestinationPath C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x64_native.zip | |
if: github.event.inputs.enableX64Native == 'true' | |
- name: Update x64 native release asset | |
id: upload-release-asset-x64-native | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
if: github.event.inputs.enableX64Native == 'true' | |
with: | |
upload_url: ${{ steps.release-drafter.outputs.upload_url }} | |
asset_path: C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x64_native.zip | |
asset_name: ${{env.AppName}}_${{github.event.inputs.version}}_x64_native.zip | |
asset_content_type: application/zip | |
- name: Build x86 | |
run: msbuild $env:UWP_Project_Directory /p:Platform=x86 /p:Configuration=Release /p:PackageCertificateKeyFile=$env:SigningCertificate /p:PackageCertificatePassword=$env:SigningCertificatePasswd /restore | |
if: github.event.inputs.enableX86 == 'true' | |
env: | |
BuildMode: SideloadOnly | |
Configuration: Release | |
- name: copy x86 document | |
run: cp C:\Package\安装教程.pdf ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x86_Test\安装教程.pdf | |
if: github.event.inputs.enableX86 == 'true' | |
- name: Remove x86 useless files | |
run: | | |
cd ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x86_Test | |
rm -r -fo *.appxsym | |
cd Dependencies | |
rm -r -fo arm,arm64,x64 | |
if: github.event.inputs.enableX86 == 'true' | |
- name: Create x86 archive | |
run: Compress-Archive -Path ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_x86_Test -DestinationPath C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x86.zip | |
if: github.event.inputs.enableX86 == 'true' | |
- name: Update x86 release asset | |
id: upload-release-asset-x86 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
if: github.event.inputs.enableX86 == 'true' | |
with: | |
upload_url: ${{ steps.release-drafter.outputs.upload_url }} | |
asset_path: C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_x86.zip | |
asset_name: ${{env.AppName}}_${{github.event.inputs.version}}_x86.zip | |
asset_content_type: application/zip | |
- name: Build ARM64 | |
run: msbuild $env:UWP_Project_Directory /p:Platform=ARM64 /p:Configuration=Release /p:PackageCertificateKeyFile=$env:SigningCertificate /p:PackageCertificatePassword=$env:SigningCertificatePasswd /restore | |
if: github.event.inputs.enableArm64 == 'true' | |
env: | |
BuildMode: SideloadOnly | |
Configuration: Release | |
- name: copy arm64 document | |
run: cp C:\Package\安装教程.pdf ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM64_Test\安装教程.pdf | |
if: github.event.inputs.enableArm64 == 'true' | |
- name: Remove arm64 useless files | |
run: | | |
cd ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM64_Test | |
rm -r -fo *.appxsym | |
cd Dependencies | |
rm -r -fo arm,x64,x86 | |
if: github.event.inputs.enableArm64 == 'true' | |
- name: Create ARM64 archive | |
run: Compress-Archive -Path ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM64_Test -DestinationPath C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_ARM64.zip | |
if: github.event.inputs.enableArm64 == 'true' | |
- name: Update ARM64 release asset | |
id: upload-release-asset-ARM64 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
if: github.event.inputs.enableArm64 == 'true' | |
with: | |
upload_url: ${{ steps.release-drafter.outputs.upload_url }} | |
asset_path: C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_ARM64.zip | |
asset_name: ${{env.AppName}}_${{github.event.inputs.version}}_ARM64.zip | |
asset_content_type: application/zip | |
- name: Build ARM32 | |
run: msbuild $env:UWP_Project_Directory /p:Platform=ARM /p:Configuration=Release /p:PackageCertificateKeyFile=$env:SigningCertificate /p:PackageCertificatePassword=$env:SigningCertificatePasswd /restore | |
if: github.event.inputs.enableArm32 == 'true' | |
env: | |
BuildMode: SideloadOnly | |
Configuration: Release | |
- name: copy arm32 document | |
run: cp C:\Package\安装教程.pdf ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM_Test\安装教程.pdf | |
if: github.event.inputs.enableArm32 == 'true' | |
- name: Remove arm32 useless files | |
run: | | |
cd ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM_Test | |
rm -r -fo *.appxsym | |
cd Dependencies | |
rm -r -fo arm64,x64,x86 | |
if: github.event.inputs.enableArm32 == 'true' | |
- name: Create ARM32 archive | |
run: Compress-Archive -Path ${{env.UWP_Project_Directory}}\AppPackages\${{env.AppName}}_${{github.event.inputs.version}}_ARM_Test -DestinationPath C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_ARM.zip | |
if: github.event.inputs.enableArm32 == 'true' | |
- name: Update ARM32 release asset | |
id: upload-release-asset-ARM32 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} | |
if: github.event.inputs.enableArm32 == 'true' | |
with: | |
upload_url: ${{ steps.release-drafter.outputs.upload_url }} | |
asset_path: C:\Package\${{env.AppName}}_${{github.event.inputs.version}}_ARM.zip | |
asset_name: ${{env.AppName}}_${{github.event.inputs.version}}_ARM.zip | |
asset_content_type: application/zip |