docs/ci: note unit tests in README, gate release build to master
Some checks failed
CI / Check / Test (push) Failing after 43s
CI / Release build (push) Has been skipped

This commit is contained in:
2026-05-14 00:43:07 +02:00
parent edc1f6c850
commit f80d3b5983
2 changed files with 27 additions and 2 deletions

View File

@@ -11,7 +11,7 @@ env:
jobs: jobs:
ci: ci:
name: Check / Test / Build name: Check / Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -38,5 +38,27 @@ jobs:
- name: test - name: test
run: cargo test run: cargo test
release-build:
name: Release build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
needs: ci
steps:
- uses: actions/checkout@v4
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-release-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-release-
- name: build (release) - name: build (release)
run: cargo build --release -p presentation -p worker run: cargo build --release -p presentation -p worker

View File

@@ -153,9 +153,12 @@ Supports review logging, bulk CSV import (column order matches the export format
## Test ## Test
```bash ```bash
cargo test cargo test # full workspace (requires DATABASE_URL for sqlx offline checks)
cargo test -p application # domain-level unit tests only — no database required
``` ```
The `application` crate has unit tests for core use cases (`log_review`, `register`, `login`, `add_to_watchlist`, `delete_review`) backed by in-memory fakes from `domain`'s `test-helpers` feature. These run without a database and are the fastest feedback loop for business logic changes.
## Docker ## Docker
The image contains both `presentation` (HTTP server) and `worker` (event processor). Run them as separate containers sharing the same data volume: The image contains both `presentation` (HTTP server) and `worker` (event processor). Run them as separate containers sharing the same data volume: