Add GitHub Actions release workflow for self-contained executables#2
Merged
Conversation
Add .github/workflows/release.yml to build and publish self-contained single-file executables (win-x64, osx-arm64, osx-x64, linux-x64) to GitHub Releases on version tags, with a smoke test step. Enable PublishReadyToRun and InvariantGlobalization on the CLI project for faster startup and smaller footprint. Fix a crash found while manually testing the published win-x64 executable: the verbose issue list rendered category names like 'Content' as raw Spectre.Console markup (e.g. [Content]), which threw 'Could not find color or style' for any category name that isn't a valid style/color. Category text is now escaped as literal output.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds automated GitHub Releases packaging for the CLI and fixes a Spectre.Console markup crash encountered in published binaries, aligning the repo with the “self-contained executable” distribution path.
Changes:
- Added a tag-triggered GitHub Actions workflow to publish self-contained, single-file binaries for multiple RIDs, smoke-test with
--help, zip, and attach to a GitHub Release. - Enabled
PublishReadyToRunandInvariantGlobalizationfor the CLI project to optimize published executables. - Fixed
scanoutput crashing due to unescaped[/]in Spectre.Console markup by escaping the rendered issue category label.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/AtsScanner.Cli/Commands/ScanCommand.cs |
Escapes the issue category label so it renders literally and doesn’t get parsed as a Spectre.Console style tag. |
src/AtsScanner.Cli/AtsScanner.Cli.csproj |
Turns on publish/runtime options intended to improve self-contained release binaries (R2R + invariant globalization). |
.github/workflows/release.yml |
Implements the tag-based multi-RID publish + zip + GitHub Release asset upload workflow. |
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.
Implements Option 1 from DISTRIBUTION.md: publish self-contained, single-file executables to GitHub Releases when a \�*\ tag is pushed.
Changes
Testing performed