Repository navigation
Isolate Mint preparation helpers and mocked-only CI - #76
Conversation
|
Review fix published in 6c278dd:
Local QA: 53 passed (38 mocked helpers, 9 scope, 6 policy), focused actionlint and git diff --check passed. Native helper authentication and cleanup remain unvalidated. Boundary clarification: the preparation policy job is mocked/static only. The pre-existing fixture workflow also runs automatically because this PR changes ci_scope.py; it includes Windows native filesystem/ACL checks and hosted Mint-container media/dependency preparation. Those results must not be represented as mocked checks or spare-host/guest validation. No manual workflow dispatch or new native caller was added. The previous scope run explicitly skipped checks/native/update-trust/release; updated-head CI is pending. Both #73 and #76 remain draft/open/unmerged. No spare-host execution, helper activation, runner operation, application packaging or release preparation was performed. |
|
Legacy fixture-trigger assessment (no workflow/code change made): The pull_request path filter in native-uat-fixtures.yml includes tests/ci_scope.py and tests/test_ci_scope.py. Those changes trigger the whole workflow, including ISO acquisition/extraction, container dependency installation and native fixture checks, even for this infrastructure-only PR. Installer-skip classification does not gate that separate workflow. Smallest proposed change: remove those two paths from the legacy fixture trigger. Both remain covered on PRs and main pushes by mint-host-inventory-checks.yml, which already executes the scope suite. Retain legacy native triggers for the fixture implementation, its regression/CLI checks, preparation script and native workflow itself. A read-only YAML/set simulation confirmed these coverage relationships. Mixed PRs changing fixture files would still trigger native fixture CI; mixed application changes would still retain application CI. Changing the legacy workflow itself would trigger its native jobs, so any implementation of this proposal must explicitly handle that one-time execution boundary before publication, rather than quietly launching package/media work. Broader alternative: separate static workflow validation from native fixture jobs and gate native execution through explicit workflow_dispatch authorization. That aligns with the desired package-operation boundary but changes existing fixture-validation policy and is a separate reviewed change, not needed to fix these helpers. No skip-ci labels, runner labels or user-supplied path claims should be used as security boundaries. Previous-head fixture run 39089612246 has now completed successfully. Latest-head Mint result is still pending; all other latest-head checks passed, and application checks/native/update-trust/release are skipped. No rerun or manual dispatch was requested. Both PRs remain draft/unmerged. |
|
Latest-head CI is now complete at 6c278dd:
No failure required a fix, no code changed in this follow-up, and no rerun/manual dispatch was initiated. Both #73 and #76 remain draft/open/unmerged. This is legacy hosted fixture evidence, not native validation of the new Cinnamon preparation helpers or spare-host console behavior. See the preceding trigger assessment: the smallest change removes ci_scope.py and test_ci_scope.py from the legacy native fixture trigger while preserving their automatic focused coverage. Any workflow change must account for its own native trigger before publication; a separately reviewed static/native split with explicit native dispatch is the stronger option if all native media/package preparation must require dispatch. No workflow-policy change has been made in this assessment. |
|
Implemented and reviewed the static/native split in b72c597.
Observed automatic CI on this exact head:
Thus publishing this workflow change did not start native media or package preparation. No spare-host operation, runner registration/start, media download, guest boot, application build/package/release operation or merge was performed. #73 and #76 remain draft/open/unmerged. Native behavior of the new media/console helpers remains unvalidated; historical #72 findings remain preserved. Manual entry-point availability on main awaits a separately authorized merge. |
|
Final dispatch-boundary review at b72c597: technically ready to merge; no blocking findings identified. Verified current-head CI: policy/scope/workflow-checks succeeded. windows-fixtures and mint-fixtures were skipped on the PR event; application checks/native/update-trust/release were also skipped. Focused actionlint was rechecked locally and passed. Existing 55 local checks and exact-head automatic policy checks cover the boundary; no native rerun or dispatch was performed. Native jobs require the canonical repository, workflow_dispatch, explicit boolean run_native=true (default false), and successful static validation. Automatic events retain static validation only. This is a GitHub dispatch permission boundary, not a separate environment-review or immutable-SHA approval mechanism; eligible repository users can intentionally dispatch a selected ref after the workflow is available on main. No self-hosted runner or protected host is selected by these native jobs. Complete eight-file diff remains infrastructure-only. The exact-path main-push exception prevents installer preparation after a future authorized merge; unknown/application/signing-key changes retain normal application CI. Live spare-host inventory and application workflow definitions are unchanged. Manual native payloads remain unchanged, and preparation-helper native authentication/cleanup/console behavior remains unvalidated and separately gated. GitHub reports MERGEABLE with REVIEW_REQUIRED, no submitted reviews, draft=true and no auto-merge request. This engineering review is not a qualifying GitHub approval. #73 and #76 remain draft/open/unmerged. No code changes, host operations, native execution, workflow dispatch, builds, packages or release work were performed during this final review. |
Adds the reviewed, isolated Mint media-authentication and offline console-plan helpers on a separate infrastructure branch. Helpers have no CLI or active workflow caller. Retains the inventory closeout, ownership/signature/digest/resource/stop gates, and explicit native-validation limitations.
Automatic hosted-Ubuntu validation runs static policy checks and mocked helper tests only. The existing scope classifier skips installer jobs for the three exact helper/test paths; unknown paths, mixed application changes, signing-key changes and application-workflow changes retain application CI. The fixed spare-host inventory workflow and activation controls are unchanged.
Validation: 55 local checks passed (38 mocked helper, 9 scope, 8 policy), focused actionlint passed, and git diff --check passed. The complete seven-file PR diff classifies application_required=false; adding an application path classifies true. No native media authentication, cleanup or console behavior is claimed validated.
Keep this PR unmerged. No helper activation, runner registration/start, workflow dispatch, spare-host download, guest boot, application packaging or release preparation is authorized. PR #73 stays draft and unmerged. Historical #72 research failures remain preserved.
Review follow-up 6c278dd fixes descriptor cleanup on initial file inspection failure and tests actual installer gates. The focused preparation job is mocked-only. Follow-up b72c597 gates legacy Windows/Mint native fixture jobs behind workflow_dispatch with run_native=true (default false); automatic events run static validation only. Native job payloads are unchanged and remain separately authorized operations. See the review comment for these limits and current CI status.