1.8 KiB
GRM-174: Apply S08 runner lease labels to gitea_runner molecule platforms + bump devx
- Task: GRM-174
- Status: draft
Problem
DEVX-181's start_docker emits MOLECULE_LEASE_UNTIL/MOLECULE_OWNER
into GITHUB_ENV for CI molecule jobs, and this repo's own
runner_cleanup.sh (GRM-173) honors org.oblachno.lease-until/
org.oblachno.owner labels. The gitea_runner molecule scenarios still
don't map those env vars onto Docker platform labels, so cleanup can
reap an in-flight molecule container/network on the shared runner
daemon. The devx pin also predates the emitter.
Approach
REQ-1: Add platform labels org.oblachno.lease-until: "${MOLECULE_LEASE_UNTIL:-0}" and org.oblachno.owner: "${MOLECULE_OWNER:-molecule-local}" to all 7
ansible/roles/gitea_runner/molecule/*/molecule.yml files.
REQ-2: Bump both devx pins in pyproject.toml to the first release
containing the emitter.
REQ-3: Unset MOLECULE_* env vars resolve to 0/molecule-local — an
already-expired lease — preserving today's local cleanup behavior via
the :-0/:-molecule-local defaults.
Test Plan
make lint-all— yamllint + full lint.make pytest-cov— unchanged 100 % coverage gate.- PR CI
fast-moleculeconverges a touched scenario on the runner with the env vars present.
Deploy Plan
- Merge; post-merge auto-publishes the package and auto-creates the infra devx-pin PR downstream.
Rollback Plan
- Revert the merge commit; absent labels restore prior cleanup semantics.
Acceptance Criteria
- REQ-1: all 7 molecule platforms carry the lease labels —
verified by
grepacross the files. - REQ-2: devx pins bumped to the release containing the emitter.
- REQ-3: unset env vars produce an expired lease (
0), preserving local behavior — enforced by:-0defaults.