Skip to content

docs(ci): describe the pipeline that actually runs - #5

Merged
krlex merged 1 commit into
mainfrom
docs/ci-cd-and-contributing-accuracy
Jul 30, 2026
Merged

docs(ci): describe the pipeline that actually runs#5
krlex merged 1 commit into
mainfrom
docs/ci-cd-and-contributing-accuracy

Conversation

@krlex

@krlex krlex commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

A day of work today ran into the docs being wrong about the release pipeline, so this corrects them against the four ci.yml files and against the registry itself.

CI/CD page

Documented Reality
Release runs on main builds and tag builds if: startsWith(github.ref, 'refs/tags/v')a merge to main publishes nothing
forail-backend:latest, forail-frontend:latest, forail-assistant:latest no latest tag exists anywhere; the registry only has versions
Version derived from the git tag on forail-deploy each repo is tagged on its own — that is why backend 2026.07.1 sits next to frontend 2026.07.0
Trivy image scan, pip-audit stage neither exists in any workflow
Lint fails the build backend runs `ruff check .

The false ones are corrected; the missing stages are recorded under Known gaps rather than quietly dropped. Added: what each repo's jobs really run, rc tags as the way to validate a build before a release, and a snippet for asking ghcr what is actually published.

Contributing guide

  • The flow said branch from devel and target devel. There is no devel branch in any Forail repo — everything targets main.
  • Added the two-remote reality: github canonical, origin the GitLab mirror.
  • New development-environment section: VirtualBox only (libvirt masked — one hypervisor owns AMD-V per boot), scripts/up.sh instead of bare vagrant up, and destroy before testingvagrant up on an existing VM does not re-provision, so a half-recreated cluster ends up with two CAs and never reaches quorum.
  • Recorded that the forail-backend and forail-deploy VMs both forward host ports 8013 and 8080, so only one can run at a time.
  • Rule 5 made explicit: a change is proven by the real thing running, not by vagrant validate.

Verified against the four ci.yml files and against ghcr, after a day spent
believing the docs:

- 'Release: main branch builds and tag builds' was wrong. Publishing is gated on
  'if: startsWith(github.ref, "refs/tags/v")' in every repo -- a merge to main
  runs lint and tests and produces no image at all. This is the single most
  common source of confusion and now has its own callout.
- The image table advertised ':latest' for backend, frontend and assistant.
  Nothing in the pipeline creates that tag and the registry has no such tag;
  'docker pull ...:latest' fails. Removed, with a snippet for asking the registry
  what really exists.
- 'The version is derived from the git tag on forail-deploy' -- each repo is
  tagged on its own, which is why published component versions legitimately
  differ and the chart is what pins a working set.
- A Trivy image scan and a pip-audit stage were documented. Neither exists in any
  workflow. Recorded under 'Known gaps' instead, along with 'ruff check . || true'
  never failing the build.
- Documented rc tags as the way to validate a build before cutting a release.

Contributing guide:

- The flow said branch from 'devel' and target 'devel' in the PR. There is no
  devel branch in any Forail repo and there has not been one; everything targets
  main.
- Added the two-remote reality (github canonical, origin the GitLab mirror).
- Added a development-environment section: VirtualBox only, up.sh instead of bare
  vagrant up, destroy before testing (a half-recreated cluster gives two CAs and
  never reaches quorum), and the 8013/8080 collision between the backend and
  deploy VMs.
- Made rule 5 explicit: proven by the real thing running, not by a syntax check.
@krlex
krlex merged commit d5f92ef into main Jul 30, 2026
1 check passed
@krlex
krlex deleted the docs/ci-cd-and-contributing-accuracy branch July 30, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant