Release #142
Workflow file for this run
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 |