ci: add tag release and commit build workflows
Agent-Logs-Url: https://github.com/zhicheng233/PN532-Aime-Reader/sessions/73dfcbc2-3d6b-4ca6-8b7e-cfe78c3bd8a0 Co-authored-by: zhicheng233 <71439504+zhicheng233@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
c524204441
commit
fb7d57b895
33
.github/workflows/build-on-commit.yml
vendored
Normal file
33
.github/workflows/build-on-commit.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Build NfcAime.Dll on Commit
|
||||
|
||||
on:
|
||||
push:
|
||||
tags-ignore:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup NuGet
|
||||
uses: NuGet/setup-nuget@v2
|
||||
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Restore NuGet packages
|
||||
run: nuget restore .\\PN532-Aime-Reader.sln
|
||||
|
||||
- name: Build NfcAime.Dll (x64, no project references)
|
||||
run: msbuild .\\src\\NfcAime.Dll\\NfcAime.Dll.csproj /p:Configuration=Release /p:Platform="Any CPU" /p:BuildProjectReferences=false
|
||||
|
||||
- name: Upload build artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: NfcAime.Dll-${{ github.sha }}
|
||||
path: src/NfcAime.Dll/bin/Release/NfcAime.Dll.dll
|
||||
if-no-files-found: error
|
||||
67
.github/workflows/release-on-tag.yml
vendored
Normal file
67
.github/workflows/release-on-tag.yml
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
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
|
||||
run: nuget restore .\\PN532-Aime-Reader.sln
|
||||
|
||||
- name: Build NfcAime.Dll (x64, no project references)
|
||||
run: msbuild .\\src\\NfcAime.Dll\\NfcAime.Dll.csproj /p:Configuration=Release /p:Platform="Any CPU" /p:BuildProjectReferences=false
|
||||
|
||||
- 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 (x64, Release)
|
||||
|
||||
$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