mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-03 04:36:03 +08:00
81 lines
2.3 KiB
YAML
81 lines
2.3 KiB
YAML
# This workflow will build a .NET project
|
|
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
|
|
|
|
name: .NET
|
|
|
|
permissions:
|
|
actions: write
|
|
contents: write
|
|
|
|
on:
|
|
push:
|
|
branches: [ "master" ]
|
|
paths: [ "**.cs" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
paths: [ "**.cs" ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v3
|
|
with:
|
|
dotnet-version: 8.0.x
|
|
|
|
- name: Restore dependencies
|
|
run: dotnet restore
|
|
|
|
- name: Publish win-x64
|
|
run: dotnet publish Program\Program.csproj -o Release\win-x64 -r win-x64 --framework net8.0 -p:PublishSingleFile=true
|
|
|
|
- name: Publish linux-x64
|
|
run: dotnet publish Program\Program.csproj -o Release\linux-x64 -r linux-x64 --framework net8.0 -p:PublishSingleFile=true
|
|
|
|
- name: Publish linux-arm64
|
|
run: dotnet publish Program\Program.csproj -o Release\linux-arm64 -r linux-arm64 --framework net8.0 -p:PublishSingleFile=true
|
|
|
|
- name: Upload win-x64 Build Artifact
|
|
uses: actions/upload-artifact@v4.3.1
|
|
with:
|
|
name: DanhengServer-win-64
|
|
path: Release\win-x64
|
|
|
|
- name: Upload linux-x64 Build Artifact
|
|
uses: actions/upload-artifact@v4.3.1
|
|
with:
|
|
name: DanhengServer-linux-x64
|
|
path: Release\linux-x64
|
|
|
|
- name: Upload linux-arm64 Build Artifact
|
|
uses: actions/upload-artifact@v4.3.1
|
|
with:
|
|
name: DanhengServer-linux-arm64
|
|
path: Release\linux-arm64
|
|
|
|
- name: Cleanup old artifacts
|
|
uses: actions/github-script@v3
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
const runId = process.env.GITHUB_RUN_ID;
|
|
const artifacts = await github.actions.listArtifactsForRepo({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
});
|
|
for (const artifact of artifacts.data.artifacts) {
|
|
if (artifact.workflow_run.id.toString() !== runId) {
|
|
await github.actions.deleteArtifact({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
artifact_id: artifact.id,
|
|
});
|
|
}
|
|
}
|