This pull request introduces significant improvements to the CI/CD workflow and project documentation for Listenarr. The changes include a new canary build workflow for automated versioning and release management, updates to the nightly and release workflows for more consistent version bumping, improvements to the main CI workflow for better branch coverage and build reliability, and the addition of comprehensive coding standards and project guidelines. The Dockerfile has also been renamed and updated to reflect the monorepo structure.
CI/CD Workflow Enhancements
- Added a new
.github/workflows/canary.ymlworkflow that automates canary builds, version bumping, artifact publishing, Docker image creation, and Discord notifications for thecanarybranch. This workflow includes logic to automatically resolve and bump the patch version, create and merge PRs for version updates, sanitize PR descriptions for release notes, and publish multi-arch Docker images. - Updated
.github/workflows/ci.ymlto include thecanarybranch in both push and pull request triggers, and improved the .NET restore step to use the solution file for reliability. [1] [2] - Modified
.github/workflows/nightly.ymlto bump the minor version instead of the patch version for nightly builds, and standardized the .NET restore step. [1] [2] - Changed
.github/workflows/release.ymlto bump the major version for releases, ensuring clear semantic versioning, and standardized the .NET restore step. [1] [[2]](diffhunk://#diff-87db21a973...
Automated nightly build