You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a "Create GitHub release (if new version)" step to .github/workflows/push-master.yml, which runs after the NuGet publish step on every push to main.
Behaviour:
Reads the current version from the top of RELEASE_NOTES.md (e.g. 8.1.8)
If not: extracts the release notes for that version and calls gh release create, attaching all bin/FSharp.Data.*.nupkg files
If yes: prints a skip message — idempotent, no duplicate releases
The step uses GITHUB_TOKEN (the contents: write permission is already present for gh-pages deployment) and the gh CLI that is pre-installed on all windows-latest runners.
Why this approach?
No new dependencies — uses gh CLI (pre-installed) and GITHUB_TOKEN (already available).
Idempotent — safe to re-run; a second push with the same version is a no-op.
Consistent with NuGet — mirrors the --skip-duplicate pattern already used for NuGet publishing.
Attaches packages — the .nupkg files are available in bin/ at this point in the workflow and are included in the release assets for convenient download.
Test Status
This is a CI workflow change only. The gh release create command path cannot be exercised in a dry-run, but the PowerShell syntax has been verified locally, and the YAML passes yaml.safe_load validation. The existing build and test steps are unchanged.
The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.
Create the pull request manually
# Download the patch from the workflow run
gh run download 24436539596 -n agent -D /tmp/agent-24436539596
# Create a new branch
git checkout -b repo-assist/eng-automated-github-releases-2026-04-15-491b5d61f0cd38c9 main
# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-24436539596/aw-repo-assist-eng-automated-github-releases-2026-04-15.patch
# Push the branch and create the pull request
git push origin repo-assist/eng-automated-github-releases-2026-04-15-491b5d61f0cd38c9
gh pr create --title '[Repo Assist] ci: automatically create GitHub releases on push to main' --base main --head repo-assist/eng-automated-github-releases-2026-04-15-491b5d61f0cd38c9 --repo fsprojects/FSharp.Data
🤖 This is an automated pull request from Repo Assist, an AI assistant for this repository.
Closes #1742
Summary
Adds a "Create GitHub release (if new version)" step to
.github/workflows/push-master.yml, which runs after the NuGet publish step on every push tomain.Behaviour:
RELEASE_NOTES.md(e.g.8.1.8)v8.1.8already exists (gh release view)gh release create, attaching allbin/FSharp.Data.*.nupkgfilesThe step uses
GITHUB_TOKEN(thecontents: writepermission is already present forgh-pagesdeployment) and theghCLI that is pre-installed on allwindows-latestrunners.Why this approach?
ghCLI (pre-installed) andGITHUB_TOKEN(already available).--skip-duplicatepattern already used for NuGet publishing..nupkgfiles are available inbin/at this point in the workflow and are included in the release assets for convenient download.Test Status
This is a CI workflow change only. The
gh release createcommand path cannot be exercised in a dry-run, but the PowerShell syntax has been verified locally, and the YAML passesyaml.safe_loadvalidation. The existing build and test steps are unchanged.Warning
Protected Files — Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.
Protected files
The push was rejected because GitHub Actions does not have
workflowspermission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.Create the pull request manually