Skip to content

ci: remove the NFV PR reviewer - #1315

Merged
Pedro Henrique Penna (ppenna) merged 3 commits into
devfrom
agents/remove-nfv-support
Nov 6, 2026
Merged

Pedro Henrique Penna (ppenna) merged 3 commits into
devfrom
agents/remove-nfv-support

Conversation

@ppenna

Copy link
Copy Markdown
Contributor

Removes NFV (neuro-formal verification) support: the NFV PR reviewer that
#1249 installed and #1266 and #1287 maintained, the source-context workflow
that it called, and gh-aw's records of both. Required status check never
depended on the reviewer, so no merge requirement changes.

Changes

  • ci: remove the NFV PR reviewer deletes .github/workflows/nfv-pr-review.md
    and its compiled nfv-pr-review.lock.yml. gh-aw compiled the reviewer's
    comment and failure reports into safe_outputs and conclusion jobs that
    could write issues, so doc/ci.md and a test named them beside the nightly
    CI report's job; both again allow that job alone. doc/ci.md also drops its
    Advisory NFV review section.
  • ci: remove the NFV source-context workflow deletes nfv-source-context.md
    and nfv-source-context.lock.yml, a reusable workflow that only the
    reviewer called, as its repository_context job.
  • ci: drop gh-aw's records of the NFV workflows deletes
    .github/aw/packages/microsoft-neuro-formal-verification-workflow-f129a0ff0f1c.json,
    gh-aw's record of the package installation, and
    .github/aw/actions-lock.json, which pinned the github/gh-aw-actions/setup
    action that both lock files ran. No other workflow is compiled with gh-aw, so
    .github/aw goes too.

Before the rebase onto dev, the branch's tree was byte-identical to
git revert of the five commits that brought NFV in and maintained it:
9b8c619, be760f5, 15c74e6, 9db0e43, and a9ce4f1. git range-diff
shows that the rebase changed no patch.

Two things stay on purpose:

  • .gitattributes still marks .github/workflows/*.lock.yml as generated. The
    rule predates NFV (f85e984), and any change to .gitattributes selects the
    microVM tests and the benchmarks.
  • 25c595b, an nvx-rs fix that an NFV report suggested, is an ordinary code
    change.

Test changes

python scripts/check_test_changes.py --base origin/dev reports 1 change to an
existing test, hence tests-modified:

  • WorkflowTests.test_only_the_report_job_writes_and_only_issues in
    scripts/test_nightly_ci.py again expects nightly-ci-report.yml:report to
    be the only job that can write issues, without
    nfv-pr-review.lock.yml:conclusion and nfv-pr-review.lock.yml:safe_outputs,
    which this pull request deletes. The file is back to its version from before
    be760f5, byte for byte.

After merging

No remaining workflow reads these repository settings, which a maintainer can
delete once this lands: the Actions variables NFV_MODEL and
NFV_RELEASE_SHA, and the Actions secrets NFV_RELEASE_TOKEN,
COPILOT_GITHUB_TOKEN, and GH_AW_GITHUB_TOKEN.

Validation

  • Windows 11 (local), with Python 3.14, Ruff 0.15.22, and Pyright 1.1.411, at
    0ccedd7:
    • ruff check and ruff format --check of scripts and .github/specula;
      pyright --pythonplatform Linux and --pythonplatform Windows, with 0
      errors; check_markdown_links.py; check_test_layout.py;
      nvx.py check-kernel-config; and the PowerShell syntax check.
    • The Windows steps of validate-nvx, with Git's usr\bin on PATH:
      compileall, test_adversarial.py, test_hosts.py, and every
      nvx.py --help pass. The unittest list ran 1814 tests, with 73 skipped,
      3 of them because this checkout has no OpenVMM submodule, and 7 errors:
      subtests of test_host_loopback_allow_script_checks_publication_and_traffic
      and test_private_network_ingress_script_checks_policy_and_traffic whose
      stubbed scripts exceed their 10-second timeout under Git's MSYS sh on
      this host. Unchanged dev at ab97477 fails the same 7 subtests the same
      way, and which of them time out varies from run to run.
    • nvx.py classify-ci-changes --event-name pull_request over this diff
      selects no guest artifacts, OpenVMM binaries, OpenVMM CI check, microVM
      tests, or benchmarks.
  • Each commit on its own: test_nightly_ci.py, test_markdown_links.py, the
    two test_nvx_tools.py tests that scan every workflow, and
    check_markdown_links.py pass at the first and second commits.
  • Left to CI: this pull request's run once it is marked ready, including the
    Linux NVX CLI job, the tests that need the OpenVMM submodule, and
    Lint, typing, and formatting on Ubuntu, whose ShellCheck, shfmt, and
    Specula steps did not run here.

Remove the NFV PR reviewer, the gh-aw workflow from the
microsoft/neuro-formal-verification package that analyzed Dafny models
of the source files that a ready pull request changed and posted its
findings as an advisory comment on the pull request. Required status
check never depended on it, so no merge requirement changes.

gh-aw compiled the reviewer's comment and its failure reports into
safe_outputs and conclusion jobs that could write issues, so
WorkflowTests.test_only_the_report_job_writes_and_only_issues expected
them, and doc/ci.md named them, beside the nightly CI report's job.
Both again allow that job alone, as they did before the reviewer was
installed. doc/ci.md also drops its Advisory NFV review section, whose
guidance on keeping the reviewer advisory and on the token that
published its comments no longer applies to any workflow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The NFV PR reviewer called nfv-source-context through workflow_call as
its repository_context job: a read-only repository context session that
picked up to 16 source files and their relevant symbols as lookup hints
for the reviewer's analysis, and handed them over as the
nfv-source-context artifact. No other workflow calls it, so with the
reviewer gone, remove its workflow source and compiled lock file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
gh-aw recorded its installation of both NFV workflows from the
microsoft/neuro-formal-verification/workflow package, with their source
revision and digests, in .github/aw/packages, and pinned the
github/gh-aw-actions/setup action that their lock files ran in
.github/aw/actions-lock.json. Neither workflow remains, and no other
workflow is compiled with gh-aw, so remove both records, and with them
.github/aw.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 6, 2026 18:05
@github-actions github-actions Bot added the tests-modified Changes existing tests, test data, or test wiring label Nov 6, 2026
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

This pull request changes existing tests

It modifies or removes 1 existing test asset(s), listed below. Review each with care: a change to a test can hide a regression that the test caught. See doc/contribute.md#changes-to-existing-tests.

Test code

Change What Before After
modified test def WorkflowTests.test_only_the_report_job_writes_and_only_issues in scripts/test_nightly_ci.py scripts/test_nightly_ci.py:2024 scripts/test_nightly_ci.py:2024

Relocated unchanged: 0; added: 0. Compared the merge base ab97477a9c7e with 0ccedd7b3cbd.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues were identified for the removal of the advisory NFV integration.

No open issues 🎉

What changed in this PR

Removes NVX’s advisory NFV PR-review integration and its gh-aw installation records, leaving required CI checks and merge requirements unchanged.

Changes:

  • Deletes the NFV reviewer and reusable source-context workflows.
  • Removes gh-aw package metadata and action pins used by NFV.
  • Updates CI documentation and the permissions test so only the nightly report job is allowed to write issues.
File Description
scripts/​test_nightly_ci.py Removes NFV jobs from the issue-write allowlist.
doc/​ci.md Removes NFV guidance and updates documented issue-write permissions.
.github/​workflows/​nfv-source-context.md Deletes the source-context workflow definition.
.github/​workflows/​nfv-source-context.lock.yml Deletes the compiled source-context workflow.
.github/​workflows/​nfv-pr-review.md Deletes the NFV reviewer definition.
.github/​aw/​packages/​microsoft-neuro-formal-verification-workflow-f129a0ff0f1c.json Deletes the NFV package installation record.
.github/​aw/​actions-lock.json Deletes the gh-aw setup action pin.

Review effort: Balanced

@ppenna
Pedro Henrique Penna (ppenna) marked this pull request as ready for review November 6, 2026 19:53
@ppenna
Pedro Henrique Penna (ppenna) added this pull request to the merge queue Nov 6, 2026
Merged via the queue into dev with commit 8b6257a Nov 6, 2026
83 checks passed
@ppenna
Pedro Henrique Penna (ppenna) deleted the agents/remove-nfv-support branch November 6, 2026 20:43
This was referenced Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests-modified Changes existing tests, test data, or test wiring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants