ci: verify pull requests with actions #21

Merged
ryan.mcgee merged 1 commit from ci/verification-workflow into main 2026-10-15 18:41:29 +00:00
Owner

Summary

  • Every pull request into main (and every push to main) runs the checks used before each commit while the project was built, so a change cannot be merged without them.

Changes

  • .github/workflows/ci.yml (read by Forgejo/Gitea Actions; GitHub syntax), three jobs in the pinned hexpm/elixir image from Containerfile.dev:
    • checks: mix format --check-formatted, mix compile --warnings-as-errors, mix credo --strict, mix dialyzer
    • test-sqlite: mix test, then a migration round trip (ecto.rollback --all, ecto.migrate)
    • test-postgres: the same against a postgres service container
  • deps, _build and the dialyzer PLT are cached per job.
  • README: Continuous integration section.

Verification

  • The workflow's commands, run in fresh clones in the same image as root (as on the runner):
    • format clean, credo no issues, dialyzer 0 errors
    • mix test: 1492 passed on SQLite and on PostgreSQL
    • migration round trip: 22 migrations up, all down, up again on both backends
  • The run on this PR is the end-to-end check of the workflow itself.
## Summary - Every pull request into `main` (and every push to `main`) runs the checks used before each commit while the project was built, so a change cannot be merged without them. ## Changes - `.github/workflows/ci.yml` (read by Forgejo/Gitea Actions; GitHub syntax), three jobs in the pinned `hexpm/elixir` image from `Containerfile.dev`: - `checks`: `mix format --check-formatted`, `mix compile --warnings-as-errors`, `mix credo --strict`, `mix dialyzer` - `test-sqlite`: `mix test`, then a migration round trip (`ecto.rollback --all`, `ecto.migrate`) - `test-postgres`: the same against a `postgres` service container - deps, `_build` and the dialyzer PLT are cached per job. - README: Continuous integration section. ## Verification - The workflow's commands, run in fresh clones in the same image as root (as on the runner): - format clean, credo no issues, dialyzer 0 errors - `mix test`: 1492 passed on SQLite and on PostgreSQL - migration round trip: 22 migrations up, all down, up again on both backends - The run on this PR is the end-to-end check of the workflow itself.
ci: verify pull requests with actions
All checks were successful
CI / tests (SQLite) (pull_request) Successful in 4m29s
CI / format, compile, credo, dialyzer (pull_request) Successful in 8m52s
CI / tests (PostgreSQL) (pull_request) Successful in 4m54s
90a42e5ef8
- run format, compile, credo and dialyzer, and the test suite with a
  migration round trip on SQLite and PostgreSQL, for pull requests
  into main and pushes to main
- document the workflow in the README
ryan.mcgee deleted branch ci/verification-workflow 2026-10-15 18:41:30 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
White_Ghost_Cyber_Systems/traefik-control!21
No description provided.