feat(a4): port Invoke-CIJob.ps1 to ci_orchestrator job
Phase A4 of plans/implementation-plan-A-B.md. Implements the full job orchestrator (clone -> start -> wait -> probe -> build -> collect -> guaranteed cleanup) as a new commands/job.py click command, registered under python -m ci_orchestrator job. Backend selection goes through backends.load_backend(config) so Phase C can swap in remote drivers without touching the command. The legacy scripts/Invoke-CIJob.ps1 is replaced by a thin PS 5.1 shim that delegates to the Python CLI; tests/python/test_commands_job.py adds 13 cases covering Linux/Windows happy paths, override application, skip-artifact, and cleanup on every failure mode.
This commit is contained in:
@@ -14,6 +14,7 @@ import click
|
||||
from ci_orchestrator import __version__
|
||||
from ci_orchestrator.commands.artifacts import artifacts
|
||||
from ci_orchestrator.commands.build import build
|
||||
from ci_orchestrator.commands.job import job
|
||||
from ci_orchestrator.commands.monitor import monitor
|
||||
from ci_orchestrator.commands.report import report
|
||||
from ci_orchestrator.commands.vm import vm
|
||||
@@ -40,6 +41,7 @@ cli.add_command(build)
|
||||
cli.add_command(artifacts)
|
||||
cli.add_command(monitor)
|
||||
cli.add_command(report)
|
||||
cli.add_command(job)
|
||||
|
||||
|
||||
if __name__ == "__main__": # pragma: no cover
|
||||
|
||||
Reference in New Issue
Block a user