diff --git a/.github/acceptance-verifiers.json b/.github/acceptance-verifiers.json new file mode 100644 index 0000000000..b837d9e031 --- /dev/null +++ b/.github/acceptance-verifiers.json @@ -0,0 +1,9 @@ +{ + "schema": "acceptance-verifiers/v1", + "verifiers": [ + { + "id": "herdr-check-ubuntu", + "check_name": "check (ubuntu-latest)" + } + ] +} diff --git a/justfile b/justfile index cceeb24681..f7f9e9017b 100644 --- a/justfile +++ b/justfile @@ -3,7 +3,7 @@ # Run tests test: cargo nextest run --locked --status-level fail --final-status-level fail --failure-output final --success-output never - python3 -m unittest scripts.test_agent_detection_manifest_check scripts.test_changelog scripts.test_config_reference_check scripts.test_docs_translation_parity scripts.test_hermes_integration_asset scripts.test_package_windows_conpty scripts.test_pr_gate_workflow scripts.test_preview scripts.test_vendor_libghostty_vt scripts.test_vendor_portable_pty scripts.test_watch_pr_checks + python3 -m unittest scripts.test_acceptance_verifier_registry scripts.test_agent_detection_manifest_check scripts.test_changelog scripts.test_config_reference_check scripts.test_docs_translation_parity scripts.test_hermes_integration_asset scripts.test_package_windows_conpty scripts.test_pr_gate_workflow scripts.test_preview scripts.test_vendor_libghostty_vt scripts.test_vendor_portable_pty scripts.test_watch_pr_checks just integration-assets-test just plugin-marketplace-test @@ -38,7 +38,7 @@ windows-lint: # Check formatting + run unit tests + Windows target lint + maintenance script tests [unix] check: ci windows-lint - python3 -m unittest scripts.test_agent_detection_manifest_check scripts.test_changelog scripts.test_config_reference_check scripts.test_docs_translation_parity scripts.test_hermes_integration_asset scripts.test_package_windows_conpty scripts.test_pr_gate_workflow scripts.test_preview scripts.test_vendor_libghostty_vt scripts.test_vendor_portable_pty scripts.test_watch_pr_checks + python3 -m unittest scripts.test_acceptance_verifier_registry scripts.test_agent_detection_manifest_check scripts.test_changelog scripts.test_config_reference_check scripts.test_docs_translation_parity scripts.test_hermes_integration_asset scripts.test_package_windows_conpty scripts.test_pr_gate_workflow scripts.test_preview scripts.test_vendor_libghostty_vt scripts.test_vendor_portable_pty scripts.test_watch_pr_checks @echo "docs reminder: if this changes user-facing behavior, make sure the relevant release docs are updated or called out before release." # Run independent final verification concurrently and print one summary. diff --git a/scripts/test_acceptance_verifier_registry.py b/scripts/test_acceptance_verifier_registry.py new file mode 100644 index 0000000000..173ccaf23a --- /dev/null +++ b/scripts/test_acceptance_verifier_registry.py @@ -0,0 +1,31 @@ +import json +import unittest +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parent.parent +REGISTRY_PATH = REPO_ROOT / ".github" / "acceptance-verifiers.json" +CI_WORKFLOW_PATH = REPO_ROOT / ".github" / "workflows" / "ci.yml" + + +class AcceptanceVerifierRegistryTests(unittest.TestCase): + def test_registry_allows_the_trusted_ubuntu_herdr_check(self) -> None: + registry = json.loads(REGISTRY_PATH.read_text(encoding="utf-8")) + + self.assertEqual(registry["schema"], "acceptance-verifiers/v1") + self.assertEqual( + registry["verifiers"], + [{ + "id": "herdr-check-ubuntu", + "check_name": "check (ubuntu-latest)", + }], + ) + + workflow = CI_WORKFLOW_PATH.read_text(encoding="utf-8") + self.assertIn("name: check (${{ matrix.os }})", workflow) + self.assertIn("- os: ubuntu-latest", workflow) + self.assertIn("run: just ci '${{ matrix.nextest_filter }}'", workflow) + + +if __name__ == "__main__": + unittest.main()