更新版本号 #122
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: publish | |
on: | |
push: | |
tags: | |
- "*" | |
env: | |
PROJECT_NAME: "XinjingdailyBot.WebAPI" | |
CONFIGURATION: Release | |
DOTNET_SDK_VERSION: 8.0.x | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: | |
[ | |
win-x64, | |
win-arm64, | |
osx-x64, | |
osx-arm64, | |
linux-x64, | |
linux-arm, | |
linux-arm64, | |
] | |
runs-on: windows-latest | |
steps: | |
- name: Checkout code | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Setup .NET Core | |
uses: actions/[email protected] | |
with: | |
dotnet-version: ${{ env.DOTNET_SDK_VERSION }} | |
- name: Verify .NET Core | |
run: dotnet --info | |
- name: Prepare for publishing ${{ env.PROJECT_NAME }} | |
shell: pwsh | |
run: | | |
dotnet restore ${{ env.PROJECT_NAME }} | |
dotnet build ${{ env.PROJECT_NAME }} -c ${{ env.CONFIGURATION }} -p:ContinuousIntegrationBuild=true -p:TargetLatestRuntimePatch=false -p:UseAppHost=false --no-restore --nologo | |
- name: Publish ${{ env.PROJECT_NAME }} ${{ matrix.arch }} | |
shell: pwsh | |
run: | | |
$variant = '${{ matrix.arch }}' | |
$commonArgs = '-p:PublishTrimmed=false' | |
$buildArgs = '-r', "$variant", '-p:PublishSingleFile=true', '-p:IncludeNativeLibrariesForSelfExtract=true' | |
dotnet publish ${{ env.PROJECT_NAME }} -c ${{ env.CONFIGURATION }} -o "./tmp/${{ env.PROJECT_NAME }}-fde" --self-contained=true -p:XJBVariant="$variant" -p:ContinuousIntegrationBuild=true --no-restore --nologo $commonArgs $buildArgs | |
dotnet publish ${{ env.PROJECT_NAME }} -c ${{ env.CONFIGURATION }} -o "./tmp/${{ env.PROJECT_NAME }}" --self-contained=false -p:XJBVariant="$variant" -p:ContinuousIntegrationBuild=true --no-restore --nologo $commonArgs $buildArgs | |
- name: Clean Xmls | |
shell: pwsh | |
run: | | |
Remove-Item './tmp/${{ env.PROJECT_NAME }}-fde/*.xml' | |
Remove-Item './tmp/${{ env.PROJECT_NAME }}/*.xml' | |
- name: Zip files | |
run: | | |
7z a -bd -slp -tzip -mm=Deflate -mx=5 -mfb=150 -mpass=10 "./dist/${{ matrix.arch }}-fde.zip" "./tmp/${{ env.PROJECT_NAME }}-fde/*" | |
7z a -bd -slp -tzip -mm=Deflate -mx=5 -mfb=150 -mpass=10 "./dist/${{ matrix.arch }}.zip" "./tmp/${{ env.PROJECT_NAME }}/*" | |
- name: Upload ${{ env.PROJECT_NAME }}-fde ${{ matrix.arch }} | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.arch }}-fde | |
path: ./dist/${{ matrix.arch }}-fde.zip | |
- name: Upload ${{ env.PROJECT_NAME }} ${{ matrix.arch }} | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: ${{ matrix.arch }} | |
path: ./dist/${{ matrix.arch }}.zip | |
release: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/[email protected] | |
- name: Download win-x64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: win-x64-fde | |
path: out | |
- name: Download win-x64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: win-x64 | |
path: out | |
- name: Download win-arm64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: win-arm64-fde | |
path: out | |
- name: Download win-arm64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: win-arm64 | |
path: out | |
- name: Download osx-x64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: osx-x64-fde | |
path: out | |
- name: Download osx-x64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: osx-x64 | |
path: out | |
- name: Download osx-arm64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: osx-arm64-fde | |
path: out | |
- name: Download osx-arm64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: osx-arm64 | |
path: out | |
- name: Download linux-x64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-x64-fde | |
path: out | |
- name: Download linux-x64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-x64 | |
path: out | |
- name: Download linux-arm-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-arm-fde | |
path: out | |
- name: Download linux-arm artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-arm | |
path: out | |
- name: Download linux-arm64-fde artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-arm64-fde | |
path: out | |
- name: Download linux-arm64 artifact | |
continue-on-error: true | |
uses: actions/[email protected] | |
with: | |
name: linux-arm64 | |
path: out | |
- name: Create ${{ env.PROJECT_NAME }} GitHub release | |
uses: ncipollo/[email protected] | |
with: | |
artifacts: "out/*" | |
makeLatest: false | |
prerelease: true | |
tag: ${{ github.ref_name }} | |
name: ${{ env.PROJECT_NAME }} ${{ github.ref_name }} | |
body: | | |
# 更新说明 | |
![XinjingdailyBot Release](https://img.shields.io/badge/XinjingdailyBot-${{ github.ref_name }}-brightgreen) ![Downloads](https://img.shields.io/github/downloads/chr233/XinjingdailyBot/${{ github.ref_name }}/total?label=Downloads) | |
release created bt github actions | |
--- | |
> 带 `fde` 表示可执行文件内置 .net 框架, 可以脱离框架运行, 但是体积比较大 | |
> 如果电脑上已经安装过 .net 框架, 可以下载不带 `fde` 的版本, 节约硬盘空间 |