verify-package-contract.sh (1532B)
1 #!/bin/sh 2 set -eu 3 4 repo_root=$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd) 5 python_project="$repo_root/scripts/persona-verifier" 6 7 uv run --project "$python_project" --offline --frozen \ 8 python "$repo_root/scripts/package_contract.py" --repo-root "$repo_root" 9 10 sh "$repo_root/scripts/ffi-provenance.sh" contract-check 11 12 ( 13 cd "$repo_root" 14 uv run --project "$python_project" --offline --frozen \ 15 python -m unittest \ 16 scripts/test_package_contract.py \ 17 scripts/test_package_privacy.py \ 18 scripts/test_legacy_identifiers.py \ 19 scripts/test_app_dependency_graph.py \ 20 scripts/test_ffi_provenance.py \ 21 scripts/test_ffi_artifacts.py \ 22 scripts/test_ffi_installed.py \ 23 scripts/test_kotlin_smoke.py \ 24 scripts/test_xcode_selection.py \ 25 scripts/test_local_social_fixture.py 26 ) 27 28 sh "$repo_root/scripts/persona-verifier.sh" verify-bud11-corpus \ 29 --corpus "$repo_root/test-fixtures/bud11-upload-authorization-mutations.v1.json" \ 30 --schema "$repo_root/test-fixtures/bud11-upload-authorization-mutations.v1.schema.json" 31 32 sh "$repo_root/scripts/persona-verifier.sh" verify-persona-fixture \ 33 --fixture "$repo_root/test-fixtures/local-social-personas.v1.json" \ 34 --fixture-schema "$repo_root/test-fixtures/local-social-personas.v1.schema.json" \ 35 --result-schema "$repo_root/test-fixtures/local-social-persona-results.v1.schema.json" \ 36 --attempt-schema "$repo_root/test-fixtures/local-social-persona-attempt-evidence.v1.schema.json" \ 37 --result-v2-schema "$repo_root/test-fixtures/local-social-persona-results.v2.schema.json"