Add CI/CD GitHub Actions workflow for dev image deploys #3

Merged
odweta merged 1 commits from odweta-fictional-barnacle into main 2026-09-10 16:06:28 +02:00
odweta commented 2026-09-10 16:05:53 +02:00 (Migrated from github.com)

Why

The project had no automated pipeline: tests ran only locally, and there was no repeatable way to get a build into a testing/dev environment.

What this adds

.github/workflows/ci-cd.yml:

  • test job: on every push and PR to main, installs deps and runs npm test from app/.
  • build-and-push job: on push to main (after tests pass), builds the app/Dockerfile image and pushes it to GitHub Container Registry, tagged :dev and :dev-<short-sha> for traceability. Uses the built-in GITHUB_TOKEN, so no extra secrets are needed.

The README now documents the published image name (ghcr.io/odweta/fakturovac:dev) and how to pull/run it against a Postgres instance for testing.

Notes for reviewers

  • No remote deploy step is included per the current setup; this publishes an image others can pull into whatever dev host/environment they use.
  • Package visibility (public/private) is controlled separately under the repo's Packages settings.
## Why The project had no automated pipeline: tests ran only locally, and there was no repeatable way to get a build into a testing/dev environment. ## What this adds `.github/workflows/ci-cd.yml`: - **test** job: on every push and PR to `main`, installs deps and runs `npm test` from `app/`. - **build-and-push** job: on push to `main` (after tests pass), builds the `app/Dockerfile` image and pushes it to GitHub Container Registry, tagged `:dev` and `:dev-<short-sha>` for traceability. Uses the built-in `GITHUB_TOKEN`, so no extra secrets are needed. The README now documents the published image name (`ghcr.io/odweta/fakturovac:dev`) and how to pull/run it against a Postgres instance for testing. ## Notes for reviewers - No remote deploy step is included per the current setup; this publishes an image others can pull into whatever dev host/environment they use. - Package visibility (public/private) is controlled separately under the repo's Packages settings.
Sign in to join this conversation.