fix: auto-deploy GitHub Pages and attach NuGet packages to releases#81
Merged
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #79
- Split wasm.yml into test, build-pages, and deploy-pages jobs so a push to main builds and deploys the WebAssembly app to GitHub Pages without a manual workflow_dispatch trigger. The previous deploy job was gated on workflow_dispatch with an explicit deploy_pages input, so normal merges to main skipped the deploy step (observed on run 25747032579). - Teach csharp/scripts/create-github-release.mjs about an --assets-glob flag that uploads matching files via gh release upload --clobber, and wire --assets-glob "csharp/artifacts/*.nupkg" into both csharp.yml release jobs so each GitHub Release ships the produced NuGet package. - Extend layout and release-script tests to guard the new behavior. - Remove the regenerated root .gitkeep that the layout test forbids.
Capture the post-merge GitHub Pages skip and the missing csharp/rust trigger feedback from @konard, the root-cause analysis showing the C# and Rust workflows correctly skipped the PR 80 merge because no csharp/** or rust/** files changed, the upstream report filed against the C# template about .nupkg release assets, and the new evidence files that back the analysis.
Member
Author
Working session summaryCI is still running. I'll wait for the background notification rather than poll. PR #81 status:
All task list items are now marked completed. The CI wait loop will notify when checks finish. This summary was automatically extracted from the AI working session output. |
Member
Author
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost: $5.583062📊 Context and tokens usage:Claude Opus 4.7: (2 sub-sessions)
Total: (2.1K new + 141.0K cache writes + 7.3M cache reads) input tokens, 41.5K output tokens, $5.583062 cost 🤖 Models used:
📎 Log file uploaded as Gist (2425KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
Member
Author
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to PR #80, addressing @konard's comment on issue #79:
workflow_dispatch+inputs.deploy_pages == true.9c93a27e) only touchedjs/**,docs/**,.github/workflows/wasm.yml, and root README files — none ofcsharp/**orrust/**. This is correct, intentional path-filter behavior; the case study now records the evidence so the requirement is closed deliberately.csharp/scripts/create-github-release.mjspublished the release notes but never attached the.nupkgproduced bydotnet pack.Changes
.github/workflows/wasm.yml: split intotest,build-pages, anddeploy-pagesjobs.build-pagesruns on every push tomain(and onworkflow_dispatch), usesactions/configure-pages+actions/upload-pages-artifact, anddeploy-pagesonly runsactions/deploy-pages@v4with the requiredpages: write/id-token: writepermissions and thegithub-pagesenvironment. Pattern matched againstjs-ai-driven-development-pipeline-template'sexample-app.yml.csharp/scripts/create-github-release.mjs: new--assets-globflag that resolves adir/*.extpattern and callsgh release upload <tag> <files...> --clobberafter the release exists. Wired into both the auto and instant release jobs incsharp.yml.js/test/repositoryLayout.test.mjscases (Pages auto-deploy and NuGet asset glob) and a dry-run unit test for--assets-globincsharp/scripts/release-scripts.test.mjs..gitkeepat the repo root is removed; the regression test in PR Clean up root repository folder #80 already forbids it.Upstream report
The same NuGet-not-attached bug exists in the C# pipeline template. Filed:
link-foundation/csharp-ai-driven-development-pipeline-template#7.
Case study
Updated
docs/case-studies/issue-79/README.mdwith aFollow-up (PR #81)section covering root causes, fixes, and upstream report, plus new evidence files:wasm-25747032579.log,run-25747032579.json,run-25747032579-jobs.json— the post-merge WebAssembly CI run.issue-79-comments-followup.json— the comment that reopened the work.upstream-csharp-template-issue-7.json— confirmation that the upstream issue was filed.Verification
node --test js/test/repositoryLayout.test.mjs— 5/5 pass, including the two new Pages and NuGet assertions.node --test csharp/scripts/release-scripts.test.mjs— 3/3 pass, including the new asset-glob dry-run.Test plan
WebAssembly CIdeploys to https://link-foundation.github.io/link-cli/ on the next push to main..nupkgas an attached asset.Fixes #79.