Skip to content

[Repo Assist] ci: automatically create GitHub releases on push to main #1744

@github-actions

Description

@github-actions

🤖 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 to main.

Behaviour:

  1. Reads the current version from the top of RELEASE_NOTES.md (e.g. 8.1.8)
  2. Checks whether a GitHub release tagged v8.1.8 already exists (gh release view)
  3. If not: extracts the release notes for that version and calls gh release create, attaching all bin/FSharp.Data.*.nupkg files
  4. 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.

Generated by Repo Assist


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 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

Generated by 🌈 Repo Assist, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@97143ac59cb3a13ef2a77581f929f06719c7402a

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions