Add CI workflows for tag-based release publishing and per-commit DLL builds #1
Reference in New Issue
Block a user
Delete Branch "copilot/add-action-for-tag-and-commit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR adds GitHub Actions automation for
NfcAime.Dllso tag pushes produce a release artifact with commit history since the previous release, while regular commits run build-only validation without publishing.Tag-triggered release pipeline
.github/workflows/release-on-tag.ymlon.push.tags: ['*'])src/NfcAime.Dll/NfcAime.Dll.csprojinReleasewithPlatformTarget=x64BuildProjectReferences=false)NfcAime.Dll.dllRelease notes with delta commits
prevTag..currentTagPer-commit build-only workflow
.github/workflows/build-on-commit.ymlpushWorkflow security/permissions
permissionsset per workflowcontents: write(required for release creation/upload)contents: readPull request overview
This PR introduces GitHub Actions CI automation to build
NfcAime.Dllon every commit and to publish a GitHub Release (including generated commit delta notes) when a tag is pushed.Changes:
NfcAime.Dlland create/update a GitHub Release with the built DLL attached.NfcAime.Dlland upload it as a workflow artifact.Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
.github/workflows/release-on-tag.yml:45
$range = $currentTagmakesgit log $rangeinclude the full history reachable from that tag (not just commits “in” the tag). The generated heading## Commits in $currentTagis misleading; consider renaming it to something like “Commits up to …” or adjusting the range logic if you want a different behavior for the initial release.💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@@ -0,0 +26,4 @@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:PlatformTarget=x64 /p:BuildProjectReferences=falseSame issue as the release workflow:
/p:Platform="Any CPU"likely won’t match the project’sRelease|AnyCPUcondition inNfcAime.Dll.csproj. This can lead to a non-Release configuration being effectively used and/or output landing somewhere other than the expectedbin/Releasepath. Remove/p:Platformor change it to/p:Platform=AnyCPU.@@ -0,0 +28,4 @@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:PlatformTarget=x64 /p:BuildProjectReferences=falseThe MSBuild invocation passes
/p:Platform="Any CPU", butNfcAime.Dll.csprojusesAnyCPU(no space) in its configuration conditions (e.g.,Release|AnyCPU). WithPlatform="Any CPU", the intended Release property group may not apply (Optimize/DefineConstants/OutputPath), and the built DLL may not match the expected settings. Prefer removing/p:Platformentirely (letting the project default to AnyCPU) or set/p:Platform=AnyCPU.This issue also appears on line 41 of the same file.