Skip to content

Build

Build #17

Workflow file for this run

name: Build
on:
push:
branches:
- main
- zh-CN
workflow_dispatch:
permissions:
actions: write
contents: write
jobs:
build:
strategy:
matrix:
# configuration: [debug, release]
configuration: [release]
platform: [x64, x86, arm64]
fail-fast: false
env:
SOLUTION_FILE_PATH: src/Shell.sln
BUILD_CONFIGURATION: ${{matrix.configuration}}
BUILD_PLATFORM: ${{matrix.platform}}
BIN_PATH: D:\a\Shell\Shell\src\bin
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
ref: 'zh-CN'
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform=${{env.BUILD_PLATFORM}} ${{env.SOLUTION_FILE_PATH}}
- name: Pack builds
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir shell-${{matrix.platform}}
rm -r ${{env.BIN_PATH}}\*.lib
rm -r ${{env.BIN_PATH}}\*.exp
rm -r ${{env.BIN_PATH}}\*.wixpdb
rm -r ${{env.BIN_PATH}}\ca.dll
Copy-Item -Path ${{env.BIN_PATH}}\* -Destination shell-${{matrix.platform}} -Recurse
Compress-Archive -Path shell-${{matrix.platform}} -DestinationPath shell-${{matrix.platform}}.zip
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: shell-${{matrix.platform}}
path: |
${{env.BIN_PATH}}\*
!${{env.BIN_PATH}}\*.lib
!${{env.BIN_PATH}}\*.exp
!${{env.BIN_PATH}}\*.wixpdb
!${{env.BIN_PATH}}\ca.dll
if-no-files-found: warn
retention-days: 0
compression-level: 6
overwrite: false
include-hidden-files: false
- name: Create release
continue-on-error: true
uses: ncipollo/[email protected]
with:
name: 中文汉化
allowUpdates: true
tag: zh-CN
commit: zh-CN
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "shell-${{matrix.platform}}.zip"
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
retain_days: 0
keep_minimum_runs: 2