Create text for a GitHub release.
Go to file
2024-05-13 14:13:01 -04:00
.config Initial commit 2024-02-04 21:23:27 -05:00
.github Don't build twice on PRs 2024-04-21 16:50:00 -04:00
.vscode Switch to C# LSP 2024-05-05 14:26:44 -04:00
src/ConsoleApp Update XML code docs for CreateTextCommand 2024-05-13 14:13:01 -04:00
.editorconfig Update editorconfig 2024-05-12 23:16:55 -04:00
.git-branches.toml Update git town config 2024-05-05 14:38:15 -04:00
.gitignore Initial commit 2024-02-04 21:23:27 -05:00
Directory.Build.props Switch to artifacts structure (#5) 2024-03-02 14:55:55 -05:00
GitHubReleaseGen.sln Initial commit 2024-02-04 21:23:27 -05:00
GitVersion.yml Initial commit 2024-02-04 21:23:27 -05:00
global.json Switch to artifacts structure (#5) 2024-03-02 14:55:55 -05:00
Install-GhReleaseGen.ps1 Add local install script and task 2024-03-04 12:40:48 -05:00
LICENSE Initial commit 2024-02-04 21:23:27 -05:00
nuget.config Initial commit 2024-02-04 21:23:27 -05:00
README.md Add build status badge 2024-03-05 21:01:37 -05:00

GitHub Release Text Generator

Build

This repo is for a CLI tool to create text for a release on GitHub.

"Doesn't GitHub have that built into the release page?"

Yup! It's very handy, but... I found it lacking for my own use. I like to separate pull requests in the output into their own section based on what the pull request was doing.

For example, this is what the native "generate release notes" tool on GitHub does:

Native "generate release notes" output on GitHub

This is a sample of what this CLI tool generates:

Output of the 'gh-releasegen' CLI tool

🏗️ Building from source

🧰 Pre-requisites

  • .NET 8 SDK
    • You will also need to install the pre-requisites for your platform located here.
      • For Linux based platforms, you primarily need to ensure that packages for clang and zlib (dev) packages are installed to your system.

🧱 Building

⚠️ Note:

Before building, you need to know the "runtime identifier" for your platform. For simplicity, these docs will use linux-x64. Replace that value with what you use, if needed.

For example if:

  • You're building on a x64 Linux-based system, the identifier would be linux-x64.
  • You're building on an Apple-silicon macOS system, the identifier would be osx-arm64.

Command-line

  1. Set your current directory to where you cloned the repo.
  2. Run the following command:
dotnet publish ./src/ConsoleApp/ --configuration "Release" --output "./build/ConsoleApp" --runtime "linux-x64" --self-contained

The compiled binary will be located in the ./build/ConsoleApp directory in the local repo.

Visual Studio Code

  1. Open the command palette (Shift+Ctrl+P (Windows/Linux) / Shift+Cmd+P (macOS)).
  2. Type in Tasks: Run Task and press Enter.
    • Ensure that is the selected option before pressing Enter.
  3. Select Publish: ConsoleApp.
  4. Select your platform's runtime identifier.

The compiled binary will be located in the ./build/ConsoleApp directory in the local repo.

🏃 Using the CLI tool

🧰 Pre-requisites for running

⬇️ Installing

⚠️ Note:

These binaries are not signed. Depending on your system and security requirements, the binary may be blocked from running.

Manual install

  1. Download the latest release for your platform on the releases page.
  2. Put the binary in a directory that is in your PATH environment variable.

macOS - Homebrew

If you have brew installed, you can do the following:

brew tap smalls1652/smallsonline # Add my custom tap
brew install --cask --no-quarantine smalls1652/smallsonline/gh-releasegen # Install gh-releasegen

🗂️ Dependencies used

🤝 License

The source code for this project is licensed with the MIT License.