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

3.1 KiB
Raw Blame History

Delivery checks

Before implementing a workplan, use the hosted reuse registry:

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. 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

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.

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.