Files
cc-ci/tests/drone/recipe_meta.py
autonomic-bot 51c3280163
Some checks failed
continuous-integration/drone/push Build is failing
feat(drone): enroll drone + gitea SCM dep (M1 implementation)
- tests/gitea/recipe_meta.py: gitea as install-time dep provider; sqlite3
  overlay EXTRA_ENV, health path /api/healthz, relaxed access for CI use
- tests/drone/recipe_meta.py: DEPS=["gitea"]; health /healthz; 600s timeout
- tests/drone/install_steps.sh: wires GITEA_CLIENT_ID + GITEA_DOMAIN +
  client_secret Docker secret + DRONE_USER_CREATE before single drone deploy
- tests/drone/functional/test_scm_configured.py: Playwright-free SCM test —
  follows /login redirect, asserts final URL is gitea dep's OAuth2 authorize
  endpoint with matching client_id (per Adversary pre-probe REVIEW-drone.md)
- tests/drone/PARITY.md: backup structural-skip justified (no backupbot labels)
- runner/harness/sso.py: setup_gitea_oauth() — creates gitea admin user via
  CLI + OAuth2 app via API, returns {admin_user, admin_password, client_id,
  client_secret} for install_steps.sh consumption
- runner/run_recipe_ci.py: _enrich_deps_with_sso now handles gitea dep (calls
  setup_gitea_oauth; keycloak path unchanged)
- tests/unit/test_gitea_dep.py: unit tests for gitea dep path — meta loading,
  SSO routing, SCM redirect assertion logic (parametrized)
- machine-docs: STATUS/JOURNAL/BACKLOG-drone.md phase state files initialized

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 21:31:43 +00:00

17 lines
878 B
Python

# Per-recipe harness config for drone (CI server with gitea SCM dependency).
# Drone requires a gitea SCM backend to boot; the harness provisions gitea as an install-time
# dep, creates an admin user + OAuth2 app in it, and wires DRONE_GITEA_* via install_steps.sh
# before the single drone deploy. Upgrade tier: viable (1.8.0 → 1.9.0).
#
# The backup rung is a structural skip: the drone recipe ships no backupbot labels and abra.sh
# exports only DRONE_ENV_VERSION (no backup functions). Documented in PARITY.md.
HEALTH_PATH = "/healthz"
HEALTH_OK = (200,)
DEPLOY_TIMEOUT = 600
HTTP_TIMEOUT = 600
# Gitea is deployed as an install-time dep. The orchestrator provisions it before drone, runs
# install_steps.sh (which wires GITEA_CLIENT_ID + GITEA_DOMAIN + client_secret into drone's env
# and compose), then deploys drone once with SCM already configured.
DEPS = ["gitea"]