vergabe-teilnahme/docs/delivery.md
tegwick fa9f08268a
All checks were successful
Application acceptance / application-tests (push) Successful in 5s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Container Image / build-and-push (push) Successful in 39s
Application acceptance / application-tests (pull_request) Successful in 54s
Enable pinned BuildKit support on the Railiance CI runner
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
2026-09-08 13:07:22 +02:00

60 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Delivery checks
Before implementing a workplan, use the hosted reuse registry:
```sh
make plan-check WORKPLAN=workplans/VERGABE-WP-0018-customer-factory-delivery.md
```
Install a reuse-surface revision containing REUSE-WP-0022. The initially tested
provider revision is recorded in
[evidence/2026-09-08-hosted-plan-check.json](evidence/2026-09-08-hosted-plan-check.json).
`REUSE_SURFACE_BIN` can select an explicit installed executable;
`REUSE_SURFACE_URL` defaults to `https://reuse.coulomb.social`.
This reads current hosted capabilities with `--no-llm`. It sends no tender intent
or mutation token to the registry. A failed/stale/partial source exits nonzero
without a recommendation. Preserve JSON output with the source revision in the
workplan evidence; a lexical `new` result still requires review of existing
capability owners. For this delivery we reuse reuse-surface, Railiance CI tooling
and the existing Railiance Apps deployment rather than establish new equivalents.
## Application and release gate
```sh
make test-image
```
The `application-tests` Docker target installs the locked Python dependencies,
builds Vite/Tailwind assets, collects static files, runs the complete Django
application suite against disposable SQLite data, and checks migration drift.
It includes the existing tender → lot → approval and submission workflow tests.
The target carries no production database connection or release credential.
SQLite proves this application acceptance suite; target PostgreSQL and live
storage/recovery behavior remain release admission checks.
The Forgejo application workflow checks proposed changes. The shared
`scripts/ci-docker.sh` installs Docker 27.3.1 and a checksum-pinned Buildx 0.19.3
plugin into temporary per-job state and enables BuildKit. The Railiance runner
otherwise falls back to the legacy builder, which rejects this Dockerfiles
existing secret mounts. Temporary tool and registry-login state is cleaned at exit.
See [Dockers BuildKit documentation](https://docs.docker.com/build/buildkit/).
The workflow runs once per PR update; it does not duplicate that run on the
feature-branch push. The image workflow
runs the same target on the same archive revision **before** registry login and
publication. Test dependencies and test settings are isolated from the runtime
image. The existing optional BuildKit package secrets remain supported, but the
current issue-core package is anonymously readable; no new secret is required.
The corrected Dockerfile consumes application templates under
`vergabe_teilnahme/templates/`. A fresh archive does not contain a root
`templates/` directory; attempting to copy it previously broke clean builds.
## Customer release acceptance
VERGABE-WP-0018-T03 owns the first admitted Railiance customer pilot: exact image
digest and chart revision, tenant/host and login binding, database and media
ownership, backup/restore and rollback, UI smoke and named operating owner.
Existing production tender data is never disposable test data. A passing source
build does not establish customer availability or the governed factory worker.