All checks were successful
continuous-integration/drone/push Build is passing
3-stage run green (install/upgrade/backup), clean teardown. backupbot deployed via reconcile oneshot; PTY (script) for abra backup/restore; -m for secret generate (no value leak). M5 CLAIMED. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
849 B
Nix
21 lines
849 B
Nix
# CI harness runtime (M4): a reproducible Python env with pytest + Playwright and the
|
|
# Nix-provided browsers, exposed as `cc-ci-run` on the host so the Drone exec pipeline (and
|
|
# manual dev) can run the harness with `cc-ci-run runner/run_recipe_ci.py`. Playwright on NixOS
|
|
# needs the browsers from nixpkgs (not a downloaded copy) via PLAYWRIGHT_BROWSERS_PATH.
|
|
{ pkgs, ... }:
|
|
let
|
|
pyEnv = pkgs.python3.withPackages (ps: with ps; [ pytest playwright ]);
|
|
ccciRun = pkgs.writeShellApplication {
|
|
name = "cc-ci-run";
|
|
runtimeInputs = [ pyEnv pkgs.abra pkgs.docker pkgs.git pkgs.coreutils pkgs.util-linux ];
|
|
text = ''
|
|
export PLAYWRIGHT_BROWSERS_PATH=${pkgs.playwright-driver.browsers}
|
|
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
|
exec ${pyEnv}/bin/python3 "$@"
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
environment.systemPackages = [ ccciRun ];
|
|
}
|