Files
grm/docs/specs/GRM-174.md
T
kireto 8e3b56761e
Post-merge / detect-and-configure (push) Successful in 1m1s
Post-merge / release-and-maintain (push) Successful in 1m19s
GRM-174: feat(molecule): label platforms with S08 runner leases; bump devx to v0.56.0
2026-09-30 19:00:13 +00:00

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-molecule converges 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 grep across 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 :-0 defaults.