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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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:main, installs deps and runsnpm testfromapp/.main(after tests pass), builds theapp/Dockerfileimage and pushes it to GitHub Container Registry, tagged:devand:dev-<short-sha>for traceability. Uses the built-inGITHUB_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