fix: remove dead nupkg pack/upload/download chain from release workflow - #5
Conversation
release.yaml's 'Create GitHub Release' step failed with 'Artifact not found for name: packages-ubuntu-latest' - the referenced NuGet package artifact was never actually produced. This app is a GUI desktop app (IsPackable=false), so 'dotnet pack' has always produced zero .nupkg/ .snupkg files; actions/upload-artifact silently skips creating the artifact when no files match, so the download step in release.yaml had nothing to find. Removed the entire dead chain: build.yaml's 'Create Dotnet Tool' (dotnet pack) and 'Upload packages' steps, and release.yaml's 'Download package artifacts' step (plus the now-unused 'Setup dotnet' step in the release job, which existed only for the NuGet publish step removed in a prior commit). Distribution remains via the Windows MSI installer attached to the GitHub Release. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
The release job downloads artifacts but currently scopes job permissions to contents: write only, which can break actions/download-artifact unless actions: read is explicitly granted.
Pull request overview
This PR fixes a release workflow failure caused by a dead NuGet package artifact chain (no .nupkg/.snupkg are produced because the app is not packable), by removing the pack/upload/download steps and keeping distribution via the Windows MSI attached to the GitHub Release.
Changes:
- Removed the
dotnet pack+ “Upload packages” artifact steps from the reusable build workflow. - Removed the package artifact download (and the now-unneeded .NET setup) from the release workflow.
- Added clarifying workflow comments documenting that distribution is via MSI, not NuGet.
File summaries
| File | Description |
|---|---|
| .github/workflows/release.yaml | Removes package artifact download/setup steps so the release job only downloads docs/MSI and creates the GitHub Release. |
| .github/workflows/build.yaml | Removes the pack/upload package artifact chain and documents that MSI is the distribution mechanism. |
Review details
Suppressed comments (1)
.github/workflows/release.yaml:49
- The
releasejob usesactions/download-artifact, but its job-levelpermissionsonly grantcontents: write. When job permissions are scoped, unspecified scopes becomenone, and artifact downloads can fail withoutactions: readaccess. Addactions: readto the job permissions to ensure the download steps work reliably.
- name: Download documents artifact
uses: actions/download-artifact@v8
with:
name: documents
path: artifacts
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Per Copilot's automated PR review on #5: the release job's permissions only granted contents:write. Job-level 'permissions' blocks default every unspecified scope to 'none', so actions/download-artifact could fail without an explicit actions:read grant. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The changes cleanly remove a confirmed broken artifact chain and leave the remaining release workflow steps consistent with MSI-based distribution.
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0 new
- Review effort level: Lite
Fixes the release workflow failure:
This app is a GUI desktop app (\IsPackable=false), so \dotnet pack\ has always produced zero .nupkg/.snupkg\ files. \�ctions/upload-artifact\ silently skips creating the artifact when no files match, so
elease.yaml's download step had nothing to find.
Removes the entire dead chain:
elease.yaml: \Download package artifacts\ step, and the now-unused \Setup dotnet\ step in the release job (only existed for the NuGet publish step removed in the prior commit).
Distribution remains via the Windows MSI installer attached to the GitHub Release.
Also includes the prior commit removing the NuGet \publish\ option from the release workflow dropdown entirely, since this GUI app is never published to NuGet.org.