CI/CD¶
Two GitHub Actions workflows run on push to main and pull requests.
ci.yml¶
Runs on every push and PR:
- Backend — Build .NET 10 solution, run xUnit tests
- Frontend — Install dependencies, run ESLint, run Prettier check, run Jest tests, build Angular
docker-publish.yml¶
Runs on push to main:
- Builds the Docker image
- Publishes to
ghcr.io/pgan-dev/poracleweb.net - Tags with
latestand commit SHA
changelog.yml¶
Runs on every PR to main as a verify-only check (it never writes to the repo):
- Confirms the PR adds an entry under the
## [Unreleased]section ofCHANGELOG.md. - Exempt PR types (no entry required): titles prefixed
docs:,style:,chore:,ci:,test:, orbuild:. - Escape hatch: apply the
skip-changeloglabel for a legitimate exception (re-runs automatically when the label is added). - Fails with a clear message if a user-facing PR is missing its
[Unreleased]entry, so it's caught before merge.
Maintain
CHANGELOG.mdmanually in each PR using the Keep a Changelog format — add your entry under## [Unreleased](e.g. beneath### Added/### Fixed).
release-changelog.yml¶
Runs on GitHub release events:
- Converts the
[Unreleased]section to a versioned section with date - Updates comparison links