ci:github actions 自动发布
This commit is contained in:
57
.github/workflows/release-on-tag.yml
vendored
Normal file
57
.github/workflows/release-on-tag.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
name: Build and Release NfcAime.Dll on Tag
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
jobs:
|
||||||
|
build-and-release:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Setup NuGet
|
||||||
|
uses: NuGet/setup-nuget@v2
|
||||||
|
- name: Setup MSBuild
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
- name: Restore NuGet packages (packages.config)
|
||||||
|
run: nuget restore .\src\NfcAime.Dll\packages.config -PackagesDirectory .\src\NfcAime.Dll\packages
|
||||||
|
|
||||||
|
- name: Restore .NET SDK packages
|
||||||
|
run: dotnet restore .\src\NfcAime.Cli\Nfcaime.Cli.csproj
|
||||||
|
|
||||||
|
- name: Build NfcAime (Release)
|
||||||
|
run: msbuild .\PN532-Aime-Reader.sln /p:Configuration=Release
|
||||||
|
- name: Generate commit notes since previous tag
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
$currentTag = "${{ github.ref_name }}"
|
||||||
|
$prevTag = git tag --sort=-creatordate | Where-Object { $_ -ne $currentTag } | Select-Object -First 1
|
||||||
|
if ($prevTag) {
|
||||||
|
$range = "$prevTag..$currentTag"
|
||||||
|
$commitTitle = "## Commits since $prevTag"
|
||||||
|
} else {
|
||||||
|
$range = $currentTag
|
||||||
|
$commitTitle = "## Commits in $currentTag"
|
||||||
|
}
|
||||||
|
$commits = git log $range --pretty=format:"- %s (%h)"
|
||||||
|
if (-not $commits) {
|
||||||
|
$commits = "- No commits found."
|
||||||
|
}
|
||||||
|
@"
|
||||||
|
## Build Artifact
|
||||||
|
- NfcAime.Dll.dll (Release, PlatformTarget=x64)
|
||||||
|
$commitTitle
|
||||||
|
$commits
|
||||||
|
"@ | Out-File -FilePath RELEASE_NOTES.md -Encoding utf8
|
||||||
|
- name: Create GitHub Release and upload DLL
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref_name }}
|
||||||
|
body_path: RELEASE_NOTES.md
|
||||||
|
files: |
|
||||||
|
src/NfcAime.Dll/bin/Release/NfcAime.Dll.dll
|
||||||
|
fail_on_unmatched_files: true
|
||||||
Reference in New Issue
Block a user