Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ side of the mapping in the compose file — the right side is the internal port,
the one the process listens on.


Official multi-architecture Docker images (`linux/amd64` and `linux/arm64`) are published automatically to the GitHub Container Registry (GHCR):
Official multi-architecture Docker images (`linux/amd64` and `linux/arm64`) are published automatically to the GitHub Container Registry (GHCR) on pushes to `master` with changes in `src/`. An automated retention policy maintains strictly the last 3 versions:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the stated three-version retention limit

The policy does not maintain strictly three image versions: .github/workflows/release.yml configures keep-n-tagged: 3 while excluding latest, and the workflow comments explicitly state that latest is outside the count. After several releases, the current latest image plus three additional tagged versions can therefore survive, so this new guarantee understates actual registry retention.

Useful? React with 👍 / 👎.


```bash
docker pull ghcr.io/pathbit/9rtksync:latest
Expand Down Expand Up @@ -337,6 +337,18 @@ make test
PYTHONPATH=src python3 -m unittest discover -s tests -p "test_*.py"
```

### Option 3. Automated Docker Image Validation with Testcontainers

Validates that the generated Docker image boots cleanly, exposes the web dashboard on port 9090, responds on `/login` (200 OK) and `/healthz`, and executes CLI commands:

```bash
# Install package with test dependencies
pip install ".[test]"

# Run Testcontainers validation suite
python3 -m unittest tests/test_container.py -v
Comment on lines +348 to +349

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ensure the documented validation rebuilds the image

When 9rtksync:test already exists locally, this command does not validate the generated image for the current checkout: obter_ou_construir_imagem() in tests/test_container.py returns immediately for any matching cached image and never rebuilds it. A developer rerunning the documented suite after changing src/ or the Dockerfile can therefore get a passing result against stale code; the instructions should explicitly rebuild/remove the tag, or the test should always build the current checkout.

Useful? React with 👍 / 👎.

```

---

## Contributing and Branch Protection
Expand Down
Loading