Skip to content

Automate releases#5

Merged
lex57ukr merged 12 commits intomainfrom
homebrew-auto
Jan 11, 2026
Merged

Automate releases#5
lex57ukr merged 12 commits intomainfrom
homebrew-auto

Conversation

@lex57ukr
Copy link
Contributor

@lex57ukr lex57ukr commented Jan 11, 2026

This pull request introduces several major improvements to the project’s developer experience, release automation, and codebase maintainability. The most significant changes include adding comprehensive GitHub Actions workflows for CI, release, and tagging; implementing a tag-driven release process with detailed documentation; refactoring console output handling for better testability; and enhancing packaging scripts for flexibility. Additionally, project documentation and editor configuration have been updated for clarity and consistency.

Release Automation and CI:

  • Added GitHub Actions workflows for continuous integration (ci.yml), automated releases on tag push (release.yml), and a manual tag-and-release workflow (tag-release.yml). These workflows ensure that tests are run, versioning is validated, release assets are built and packaged for multiple platforms, checksums are generated, and GitHub Releases are created with all necessary artifacts. [1] [2] [3]

  • Introduced a detailed docs/RELEASE.md documenting the tag-driven release process, including both automated and manual fallback procedures for maintainers.

Codebase Improvements (Console Abstraction):

  • Introduced an IConsole abstraction and a concrete Console implementation to decouple console output from system calls, improving testability and consistency across commands. Updated all command controllers to use dependency-injected IConsole instead of direct System.Console calls. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

Packaging and Build Scripts:

  • Enhanced scripts/package-release.sh to support flexible invocation with optional version and runtime identifier arguments, improved usage help, and automatic version extraction from the project file. This enables easier local and CI-based packaging for multiple platforms. [1] [2]

Documentation and Ecosystem Integration:

  • Updated README.md to include links to releases and license, and added a Homebrew-based installation guide for macOS users. [1] [2]

Editor and Formatting Consistency:

  • Updated .editorconfig to enforce 2-space indentation for YAML files, aligning with common ecosystem conventions.

@lex57ukr lex57ukr merged commit 5cc8261 into main Jan 11, 2026
1 check passed
@lex57ukr lex57ukr deleted the homebrew-auto branch January 11, 2026 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant