From 0c45348fec6a978cb7c5420515f17bff98d082fb Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Fri, 20 Feb 2026 11:38:21 -0500 Subject: [PATCH 1/7] More BCR updates Adds more testing support to match our BCR testing flow --- .github/workflows/ci.yaml | 70 +- MODULE.bazel | 2 +- MODULE.bazel.lock | 1255 ++++++++++------- bazel-diff-example.ps1 | 108 ++ .../cquery-test-android-code-change.zip | Bin 9834 -> 9839 bytes .../resources/fixture/cquery-test-base.zip | Bin 9822 -> 9827 bytes .../fixture/cquery-test-guava-upgrade.zip | Bin 9827 -> 9829 bytes 7 files changed, 921 insertions(+), 514 deletions(-) create mode 100644 bazel-diff-example.ps1 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 737174c..2b2b21f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,7 +8,19 @@ on: jobs: test-jre21: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-latest + bazel: '8.x' + - os: ubuntu-latest + bazel: '9.x' + - os: macos-latest + bazel: '8.x' + - os: macos-latest + bazel: '9.x' steps: - name: Setup Java JDK uses: actions/setup-java@v4 @@ -24,48 +36,69 @@ jobs: run: go install github.com/bazelbuild/bazelisk@latest && export PATH=$PATH:$(go env GOPATH)/bin - uses: actions/checkout@v4 - name: Run bazel-diff tests + env: + USE_BAZEL_VERSION: ${{ matrix.bazel }} run: ~/go/bin/bazelisk coverage --combined_report=lcov //cli/... --enable_bzlmod=true --enable_workspace=false - name: Upload coverage report uses: actions/upload-artifact@v4 if: always() with: - name: coverage-report-jre21 + name: coverage-report-jre21-${{ matrix.os }}-bazel-${{ matrix.bazel }} path: bazel-out/_coverage/_coverage_report.dat if-no-files-found: warn - name: Upload test logs uses: actions/upload-artifact@v4 if: always() with: - name: test-logs-jre21 + name: test-logs-jre21-${{ matrix.os }}-bazel-${{ matrix.bazel }} path: bazel-testlogs/ if-no-files-found: warn test-jre11-run-example: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - - bazel: '7.x' + - os: ubuntu-latest + bazel: '7.x' disable_workspace: 'false' extra_flags: '' - - bazel: '7.x' + - os: ubuntu-latest + bazel: '7.x' disable_workspace: 'false' extra_flags: '--incompatible_disable_native_repo_rules' - - bazel: '8.x' + - os: ubuntu-latest + bazel: '8.x' disable_workspace: 'true' extra_flags: '' - - bazel: '8.6.0rc1' + - os: ubuntu-latest + bazel: '8.6.0rc1' disable_workspace: 'true' extra_flags: '' - - bazel: '8.x' + - os: ubuntu-latest + bazel: '8.x' disable_workspace: 'true' extra_flags: '--incompatible_disable_native_repo_rules' - - bazel: '9.x' + - os: ubuntu-latest + bazel: '9.x' disable_workspace: 'true' extra_flags: '' - - bazel: '9.x' + - os: ubuntu-latest + bazel: '9.x' disable_workspace: 'true' extra_flags: '--incompatible_disable_native_repo_rules' + - os: windows-latest + bazel: '7.x' + disable_workspace: 'false' + extra_flags: '' + - os: windows-latest + bazel: '8.x' + disable_workspace: 'true' + extra_flags: '' + - os: windows-latest + bazel: '9.x' + disable_workspace: 'true' + extra_flags: '' steps: - name: Setup Java JDK uses: actions/setup-java@v4 @@ -83,13 +116,26 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Run bazel-diff example script + - name: Run bazel-diff example script (Linux) + if: runner.os != 'Windows' env: USE_BAZEL_VERSION: ${{ matrix.bazel }} BAZEL_DIFF_DISABLE_WORKSPACE: ${{ matrix.disable_workspace }} BAZEL_DIFF_FORCE_CHECKOUT: true BAZEL_EXTRA_COMMAND_OPTIONS: ${{ matrix.extra_flags }} run: ./bazel-diff-example.sh "$GITHUB_WORKSPACE" ~/go/bin/bazelisk $(git rev-parse HEAD~1) $(git rev-parse HEAD) + - name: Run bazel-diff example script (Windows) + if: runner.os == 'Windows' + env: + USE_BAZEL_VERSION: ${{ matrix.bazel }} + BAZEL_DIFF_DISABLE_WORKSPACE: ${{ matrix.disable_workspace }} + BAZEL_DIFF_FORCE_CHECKOUT: true + BAZEL_EXTRA_COMMAND_OPTIONS: ${{ matrix.extra_flags }} + shell: pwsh + run: | + $prevRev = git rev-parse HEAD~1 + $currRev = git rev-parse HEAD + .\bazel-diff-example.ps1 -WorkspacePath "$env:GITHUB_WORKSPACE" -BazelPath "$env:USERPROFILE\go\bin\bazelisk.exe" -PreviousRevision $prevRev -FinalRevision $currRev deploy: needs: [test-jre21] runs-on: ubuntu-latest diff --git a/MODULE.bazel b/MODULE.bazel index efcc831..d7d9f9b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,6 +1,6 @@ module( name = "bazel-diff", - version = "15.0.2", + version = "15.0.3", compatibility_level = 0, ) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b170f1d..d2b051b 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,5 +1,5 @@ { - "lockFileVersion": 24, + "lockFileVersion": 26, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", @@ -28,7 +28,6 @@ "https://bcr.bazel.build/modules/apple_support/1.17.1/MODULE.bazel": "655c922ab1209978a94ef6ca7d9d43e940cd97d9c172fb55f94d91ac53f8610b", "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e", "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1", - "https://bcr.bazel.build/modules/apple_support/1.23.1/MODULE.bazel": "53763fed456a968cf919b3240427cf3a9d5481ec5466abc9d5dc51bc70087442", "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4", "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f", @@ -107,8 +106,8 @@ "https://bcr.bazel.build/modules/boringssl/0.20241024.0/source.json": "d843092e682b84188c043ac742965d7f96e04c846c7e338187e03238674909a9", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/MODULE.bazel": "2ef4962c8b0b6d8d21928a89190755619254459bc67f870dc0ccb9ba9952d444", "https://bcr.bazel.build/modules/buildifier_prebuilt/6.1.2/source.json": "19fb45ed3f0d55cbff94e402c39512940833ae3a68f9cbfd9518a1926b609c7c", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", + "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", "https://bcr.bazel.build/modules/c-ares/1.15.0/MODULE.bazel": "ba0a78360fdc83f02f437a9e7df0532ad1fbaa59b722f6e715c11effebaa0166", "https://bcr.bazel.build/modules/c-ares/1.19.1/MODULE.bazel": "73bca21720772370ff91cc8e88bbbaf14897720c6473e87c1ddc0f848284c313", "https://bcr.bazel.build/modules/c-ares/1.34.5.bcr.1/MODULE.bazel": "f4632f68dbc075342966477d9c94a8a4a299d91e155980b042e1cd9f5a7ebcf5", @@ -343,13 +342,13 @@ "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", "https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e", - "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", "https://bcr.bazel.build/modules/rules_java/8.16.1/MODULE.bazel": "0f20b1cecaa8e52f60a8f071e59a20b4e3b9a67f6c56c802ea256f6face692d3", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_java/8.6.0/MODULE.bazel": "9c064c434606d75a086f15ade5edb514308cccd1544c2b2a89bbac4310e41c71", "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", "https://bcr.bazel.build/modules/rules_java/8.9.0/MODULE.bazel": "e17c876cb53dcd817b7b7f0d2985b710610169729e8c371b2221cacdcd3dce4a", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", "https://bcr.bazel.build/modules/rules_java/9.3.0/MODULE.bazel": "f657c72d65ac449caae9abf2e68e66c0d36f9416848c4c4903d0b3234229e7f2", "https://bcr.bazel.build/modules/rules_java/9.3.0/source.json": "59ae7e662c3c7042b88bbb42ad12483523e234c65ebe4c51611baa43e85cb248", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -419,6 +418,7 @@ "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", "https://bcr.bazel.build/modules/rules_python/1.8.4/MODULE.bazel": "33e3971e66161a3e955f7a0d411a8d1f291c4ce4c561851512466f3c77ff8ece", "https://bcr.bazel.build/modules/rules_python/1.8.4/source.json": "9fbc0e57bae52cddcc3831d668bce87a47e0c655104a85098d4459dd9a3b0a10", "https://bcr.bazel.build/modules/rules_robolectric/4.14.1.2/MODULE.bazel": "d44fec647d0aeb67b9f3b980cf68ba634976f3ae7ccd6c07d790b59b87a4f251", @@ -474,151 +474,14 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "//:extensions.bzl%non_module_repositories": { - "general": { - "bzlTransitiveDigest": "+11C3Nl1PrqDZuEZBkWEY/1862q4s4Wb0bsOaKjAMhk=", - "usagesDigest": "kmdMPJAv+MdBe06gMQYvgoPevgzubgjzWh0pu4oZ9GM=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "ktfmt": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", - "attributes": { - "integrity": "sha256-l/x/vRlNAan6RdgUfAVSQDAD1VusSridhNe7TV4/SN4=", - "url": "https://repo1.maven.org/maven2/com/facebook/ktfmt/0.46/ktfmt-0.46-jar-with-dependencies.jar" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "", - "aspect_rules_lint", - "aspect_rules_lint+" - ], - [ - "aspect_rules_lint+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@aspect_rules_js+//npm:extensions.bzl%pnpm": { - "general": { - "bzlTransitiveDigest": "84254cX9w5vc9XgW+CDcoRvhkb3jBTxzzoCiYBXfCyI=", - "usagesDigest": "ZYGEy1FrDUNPBzAzD+ujlHkMEsVPMYOvpHm9RhUexUE=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "pnpm": { - "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_rule", - "attributes": { - "package": "pnpm", - "version": "8.6.7", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-vRIWpD/L4phf9Bk2o/O2TDR8fFoJnpYrp2TKqTIZF/qZ2/rgL3qKXzHofHgbXsinwMoSEigz28sqk3pQ+yMEQQ==", - "url": "", - "commit": "", - "patch_args": [ - "-p0" - ], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_binary\")\njs_binary(name = \"pnpm\", data = glob([\"package/**\"]), entry_point = \"package/dist/pnpm.cjs\", visibility = [\"//visibility:public\"])", - "generate_bzl_library_targets": false, - "extract_full_archive": true - } - }, - "pnpm__links": { - "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_links", - "attributes": { - "package": "pnpm", - "version": "8.6.7", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": {}, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [ - "no-sandbox" - ], - "lifecycle_hooks_use_default_shell_env": false, - "bins": {}, - "npm_translate_lock_repo": "", - "package_visibility": [ - "//visibility:public" - ], - "replace_package": "" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "aspect_bazel_lib+", - "bazel_lib", - "bazel_lib+" - ], - [ - "aspect_bazel_lib+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "aspect_bazel_lib+", - "bazel_tools", - "bazel_tools" - ], - [ - "aspect_rules_js+", - "aspect_bazel_lib", - "aspect_bazel_lib+" - ], - [ - "aspect_rules_js+", - "bazel_features", - "bazel_features+" - ], - [ - "aspect_rules_js+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "aspect_rules_js+", - "bazel_tools", - "bazel_tools" - ], - [ - "bazel_features+", - "bazel_tools", - "bazel_tools" - ], - [ - "bazel_lib+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@buildifier_prebuilt+//:defs.bzl%buildifier_prebuilt_deps_extension": { "general": { - "bzlTransitiveDigest": "SGILosx5Y/9gqlxz+OVua6yYM6U/ZgniyPU6ecTht1o=", + "bzlTransitiveDigest": "v+HoakYiUP63MwMfBXK4/O6x5u1DveZWcNkZ6n5JCMY=", "usagesDigest": "JCqhJg+TeFVLBlrKVGI0Npi9RChNqkZQAh9TYfbAobs=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:buildifier_prebuilt+,bazel_skylib bazel_skylib+", + "REPO_MAPPING:buildifier_prebuilt+,bazel_tools bazel_tools" + ], "generatedRepoSpecs": { "buildifier_darwin_amd64": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", @@ -736,169 +599,29 @@ "assets_json": "[{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"darwin\",\"sha256\":\"e2f4a67691c5f55634fbfb3850eb97dd91be0edd059d947b6c83d120682e0216\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildifier\",\"platform\":\"darwin\",\"sha256\":\"7549b5f535219ac957aa2a6069d46fbfc9ea3f74abd85fd3d460af4b1a2099a6\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"linux\",\"sha256\":\"51bc947dabb7b14ec6fb1224464fbcf7a7cb138f1a10a3b328f00835f72852ce\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildifier\",\"platform\":\"linux\",\"sha256\":\"0ba6e8e3208b5a029164e542ddb5509e618f87b639ffe8cc2f54770022853080\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildifier\",\"platform\":\"windows\",\"sha256\":\"92bdd284fbc6766fc3e300b434ff9e68ac4d76a06cb29d1bdefe79a102a8d135\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"darwin\",\"sha256\":\"4014751a4cc5e91a7dc4b64be7b30c565bd9014ae6d1879818dc624562a1d431\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildozer\",\"platform\":\"darwin\",\"sha256\":\"e78bd5357f2356067d4b0d49ec4e4143dd9b1308746afc6ff11b55b952f462d7\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"linux\",\"sha256\":\"2aef0f1ef80a0140b8fe6e6a8eb822e14827d8855bfc6681532c7530339ea23b\",\"version\":\"v6.1.2\"},{\"arch\":\"arm64\",\"name\":\"buildozer\",\"platform\":\"linux\",\"sha256\":\"586e27630cbc242e8bd6fe8e24485eca8dcadea6410cc13cbe059202655980ac\",\"version\":\"v6.1.2\"},{\"arch\":\"amd64\",\"name\":\"buildozer\",\"platform\":\"windows\",\"sha256\":\"07664d5d08ee099f069cd654070cabf2708efaae9f52dc83921fa400c67a868b\",\"version\":\"v6.1.2\"}]" } } - }, - "recordedRepoMappingEntries": [ - [ - "buildifier_prebuilt+", - "bazel_skylib", - "bazel_skylib+" - ], - [ - "buildifier_prebuilt+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@envoy_api+//bazel:repositories.bzl%non_module_deps": { - "general": { - "bzlTransitiveDigest": "GVR9ZmHmKQd+k6FY/jDmYTlwLU/H7IRoXDz3w4dqRdI=", - "usagesDigest": "lOhJkV09ITWn6LOK9fLMuf1t3969wdr45lToQ2MVQoU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "prometheus_metrics_model": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "urls": [ - "https://github.com/prometheus/client_model/archive/v0.6.2.tar.gz" - ], - "sha256": "47c5ea7949f68e7f7b344350c59b6bd31eeb921f0eec6c3a566e27cf1951470c", - "strip_prefix": "client_model-0.6.2", - "build_file_content": "\nload(\"@envoy_api//bazel:api_build_system.bzl\", \"api_cc_py_proto_library\")\nload(\"@io_bazel_rules_go//proto:def.bzl\", \"go_proto_library\")\n\napi_cc_py_proto_library(\n name = \"client_model\",\n srcs = [\n \"io/prometheus/client/metrics.proto\",\n ],\n visibility = [\"//visibility:public\"],\n)\n\ngo_proto_library(\n name = \"client_model_go_proto\",\n importpath = \"github.com/prometheus/client_model/go\",\n proto = \":client_model\",\n visibility = [\"//visibility:public\"],\n)\n" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "envoy_api+", - "bazel_tools", - "bazel_tools" - ], - [ - "envoy_api+", - "envoy_api", - "envoy_api+" - ] - ] - } - }, - "@@googleapis+//:extensions.bzl%switched_rules": { - "general": { - "bzlTransitiveDigest": "1ZTg77R3Ks/ksx8QMNIoTRJetbJPRlzGFlJa9hoUn+Y=", - "usagesDigest": "phuibqqjsm5RJqquWNJ7BXJvnPPgSCBreyRLEH/JjIA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": {}, - "recordedRepoMappingEntries": [] - } - }, - "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": { - "general": { - "bzlTransitiveDigest": "uxP2cZuW027Q8wpZbeJeuW5MXcNBO8GcOK/LNN2sPvQ=", - "usagesDigest": "D1r3lfzMuUBFxgG8V6o0bQTLMk3GkaGOaPzw53wrwyw=", - "recordedFileInputs": { - "@@pybind11_bazel+//MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34" - }, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "pybind11": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "build_file": "@@pybind11_bazel+//:pybind11-BUILD.bazel", - "strip_prefix": "pybind11-2.12.0", - "urls": [ - "https://github.com/pybind/pybind11/archive/v2.12.0.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "pybind11_bazel+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//bzlmod_extensions:apksig.bzl%apksig_extension": { - "general": { - "bzlTransitiveDigest": "xeN+uPP1PKslnv5h3+uyhGaFXC4IIzcFwX/nQHlNwZk=", - "usagesDigest": "zr/niBQ/s2fHozWAsg4vI70wAxcuFjG+QtM15qGkq9o=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "apksig": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/tools/apksig/+archive/24e3075e68ebe17c0b529bb24bfda819db5e2f3b.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:apksig.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": { - "general": { - "bzlTransitiveDigest": "2icqERrdWnpamgt/akEgAtfBsjNG1/st+AAFRZx9aH4=", - "usagesDigest": "c1Y/KGGjUYCyd8zNIVTUh1bynVXRFz6xGKaSCBpQANM=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_android_dex": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": { "general": { "bzlTransitiveDigest": "+rMrzIrv7sImYmkbXJYv+gFpTJQ79X3MpwwMLI2A+oA=", "usagesDigest": "iEGI2aNDMkHt9LXCdViLNUUOslpiVj2DrevWWXZEFnU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "androidsdk": { "repoRuleId": "@@rules_android+//rules/android_sdk_repository:rule.bzl%_android_sdk_repository", "attributes": {} } - }, - "recordedRepoMappingEntries": [] + } } }, "@@rules_buf+//buf:extensions.bzl%ext": { "general": { - "bzlTransitiveDigest": "m6JhnDQjtv1Gv36qXoZpNqTHIQN6fD/+MYRZa5Mtr48=", + "bzlTransitiveDigest": "jPVNXOmzZswjd7FZCQk0mOXkvt6/dS9OuJa4wwbDE5M=", "usagesDigest": "RTc2BMQ2b0wGU8CRvN3EoPz34m3LMe+K/oSkFkN83+M=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_buf+,bazel_tools bazel_tools" + ], "generatedRepoSpecs": { "rules_buf_toolchains": { "repoRuleId": "@@rules_buf+//buf/internal:toolchain.bzl%buf_download_releases", @@ -906,23 +629,14 @@ "version": "v1.27.0" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_buf+", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_multitool+//multitool:extension.bzl%multitool": { "general": { "bzlTransitiveDigest": "AtvPzG/SAawYMKVVHcMoJq4EXkVPTIhS3AeNwENXp9E=", "usagesDigest": "NlGXqxlfAAxarfrdXp4c9RPvFAAZFrtSqgTgl2BYKXE=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "multitool.linux_arm64": { "repoRuleId": "@@rules_multitool+//multitool/private:multitool.bzl%_env_specific_tools", @@ -977,17 +691,14 @@ ] } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@rules_nodejs+//nodejs:extensions.bzl%node": { "general": { "bzlTransitiveDigest": "4pUxCNc22K4I+6+4Nxu52Hur12tFRfa1JMsN5mdDv60=", "usagesDigest": "l5Z2+8YxTTnxb5NhHGrLYUoTLfhNQO6ePdhNS/te4oA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "nodejs_linux_amd64": { "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories", @@ -1111,91 +822,31 @@ "user_node_repository_name": "nodejs" } } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_perl+//perl:extensions.bzl%perl_repositories": { - "general": { - "bzlTransitiveDigest": "rEvFEEQbGp20qoG38ex+bV2NMG2GhUnSh3CZscNcozE=", - "usagesDigest": "qSSNDdCNVxNhY36wMndEAFacdhR0ooLTmumfad0km9s=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "perl_darwin_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-arm64", - "sha256": "285769f3c50c339fb59a3987b216ae3c5c573b95babe6875a1ef56fb178433da", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-arm64.tar.xz" - ] - } - }, - "perl_darwin_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-darwin-amd64", - "sha256": "63bc5ee36f5394d71c50cca6cafdd333ee58f9eaa40bca63c85f9bd06f2c1fd6", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-darwin-amd64.tar.xz" - ] - } - }, - "perl_linux_amd64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-amd64", - "sha256": "3bdffa9d7a3f97c0207314637b260ba5115b1d0829f97e3e2e301191a4d4d076", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-amd64.tar.xz" - ] - } - }, - "perl_linux_arm64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "perl-linux-arm64", - "sha256": "6fa4ece99e790ecbc2861f6ecb7b52694c01c2eeb215b4370f16a3b12d952117", - "urls": [ - "https://github.com/skaji/relocatable-perl/releases/download/5.36.0.1/perl-linux-arm64.tar.xz" - ] - } - }, - "perl_windows_x86_64": { - "repoRuleId": "@@rules_perl+//perl:repo.bzl%perl_download", - "attributes": { - "strip_prefix": "", - "sha256": "aeb973da474f14210d3e1a1f942dcf779e2ae7e71e4c535e6c53ebabe632cc98", - "urls": [ - "https://mirror.bazel.build/strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip", - "https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_perl+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_perl+", - "rules_perl", - "rules_perl+" - ] - ] + } } }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { - "bzlTransitiveDigest": "uo49IDITNsksO4x76pZ7eYlLKomkU77mK8VTrbCHXZM=", + "bzlTransitiveDigest": "wUM/eFwo5Zy7rn36nZ9ZxN9tXhmcWMVGXIExerGg6gM=", "usagesDigest": "p2al+dDKI5UlCyNvheMVynbWSGbdiji/jMz53fMNfJA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,pypi__build rules_python++config+pypi__build", + "REPO_MAPPING:rules_python+,pypi__click rules_python++config+pypi__click", + "REPO_MAPPING:rules_python+,pypi__colorama rules_python++config+pypi__colorama", + "REPO_MAPPING:rules_python+,pypi__importlib_metadata rules_python++config+pypi__importlib_metadata", + "REPO_MAPPING:rules_python+,pypi__installer rules_python++config+pypi__installer", + "REPO_MAPPING:rules_python+,pypi__more_itertools rules_python++config+pypi__more_itertools", + "REPO_MAPPING:rules_python+,pypi__packaging rules_python++config+pypi__packaging", + "REPO_MAPPING:rules_python+,pypi__pep517 rules_python++config+pypi__pep517", + "REPO_MAPPING:rules_python+,pypi__pip rules_python++config+pypi__pip", + "REPO_MAPPING:rules_python+,pypi__pip_tools rules_python++config+pypi__pip_tools", + "REPO_MAPPING:rules_python+,pypi__pyproject_hooks rules_python++config+pypi__pyproject_hooks", + "REPO_MAPPING:rules_python+,pypi__setuptools rules_python++config+pypi__setuptools", + "REPO_MAPPING:rules_python+,pypi__tomli rules_python++config+pypi__tomli", + "REPO_MAPPING:rules_python+,pypi__wheel rules_python++config+pypi__wheel", + "REPO_MAPPING:rules_python+,pypi__zipp rules_python++config+pypi__zipp" + ], "generatedRepoSpecs": { "rules_python_internal": { "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo", @@ -1339,98 +990,17 @@ "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_python+", - "pypi__build", - "rules_python++config+pypi__build" - ], - [ - "rules_python+", - "pypi__click", - "rules_python++config+pypi__click" - ], - [ - "rules_python+", - "pypi__colorama", - "rules_python++config+pypi__colorama" - ], - [ - "rules_python+", - "pypi__importlib_metadata", - "rules_python++config+pypi__importlib_metadata" - ], - [ - "rules_python+", - "pypi__installer", - "rules_python++config+pypi__installer" - ], - [ - "rules_python+", - "pypi__more_itertools", - "rules_python++config+pypi__more_itertools" - ], - [ - "rules_python+", - "pypi__packaging", - "rules_python++config+pypi__packaging" - ], - [ - "rules_python+", - "pypi__pep517", - "rules_python++config+pypi__pep517" - ], - [ - "rules_python+", - "pypi__pip", - "rules_python++config+pypi__pip" - ], - [ - "rules_python+", - "pypi__pip_tools", - "rules_python++config+pypi__pip_tools" - ], - [ - "rules_python+", - "pypi__pyproject_hooks", - "rules_python++config+pypi__pyproject_hooks" - ], - [ - "rules_python+", - "pypi__setuptools", - "rules_python++config+pypi__setuptools" - ], - [ - "rules_python+", - "pypi__tomli", - "rules_python++config+pypi__tomli" - ], - [ - "rules_python+", - "pypi__wheel", - "rules_python++config+pypi__wheel" - ], - [ - "rules_python+", - "pypi__zipp", - "rules_python++config+pypi__zipp" - ] - ] + } } }, "@@rules_python+//python/uv:uv.bzl%uv": { "general": { - "bzlTransitiveDigest": "zyNsrbgVKwpA0B3zI84imAfuC424VSzYNPgjr/HJy5M=", + "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=", "usagesDigest": "/HRt5Hw/vpDr9CDrKEPjeDIjxo4307VLxMu8BNAEDWA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,platforms platforms" + ], "generatedRepoSpecs": { "uv": { "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", @@ -1450,28 +1020,14 @@ "toolchain_target_settings": {} } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_python+", - "platforms", - "platforms" - ] - ] + } } }, "@@tar.bzl+//tar:extensions.bzl%toolchains": { "general": { "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "bsd_tar_toolchains": { "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", @@ -1515,17 +1071,14 @@ "platform": "windows_arm64" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@toolchains_protoc+//protoc:extensions.bzl%protoc": { "general": { "bzlTransitiveDigest": "HnmcD4ia7/1ZuQnymt4OGHXrW62MmIgwCtHByGQ7LQs=", "usagesDigest": "8nmQyO6LoaF/+HM3ni78Za6MQ5BVffJheAFJgl6hvoY=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, + "recordedInputs": [], "generatedRepoSpecs": { "toolchains_protoc_hub.linux_aarch_64": { "repoRuleId": "@@toolchains_protoc+//protoc/private:prebuilt_protoc_toolchain.bzl%prebuilt_protoc_repo", @@ -1588,10 +1141,710 @@ "alias_to": "toolchains_protoc_hub.osx_aarch_64" } } - }, - "recordedRepoMappingEntries": [] + } } } }, - "facts": {} + "facts": { + "@@rules_go+//go:extensions.bzl%go_sdk": { + "1.20.2": { + "darwin_amd64": [ + "go1.20.2.darwin-amd64.tar.gz", + "c93b8ced9517d07e1cd4c362c6e2d5242cb139e29b417a328fbf19aded08764c" + ], + "darwin_arm64": [ + "go1.20.2.darwin-arm64.tar.gz", + "7343c87f19e79c0063532e82e1c4d6f42175a32d99f7a4d15e658e88bf97f885" + ], + "freebsd_386": [ + "go1.20.2.freebsd-386.tar.gz", + "14f9be2004e042b3a64d0facb0c020756a9084a5c7333e33b0752b393b6016ea" + ], + "freebsd_amd64": [ + "go1.20.2.freebsd-amd64.tar.gz", + "b41b67b4f1b56797a7cecf6ee7f47fcf4f93960b2788a3683c07dd009d30b2a4" + ], + "linux_386": [ + "go1.20.2.linux-386.tar.gz", + "ee240ed33ae57504c41f04c12236aeaa17fbeb6ea9fcd096cd9dc7a89d10d4db" + ], + "linux_amd64": [ + "go1.20.2.linux-amd64.tar.gz", + "4eaea32f59cde4dc635fbc42161031d13e1c780b87097f4b4234cfce671f1768" + ], + "linux_arm64": [ + "go1.20.2.linux-arm64.tar.gz", + "78d632915bb75e9a6356a47a42625fd1a785c83a64a643fedd8f61e31b1b3bef" + ], + "linux_armv6l": [ + "go1.20.2.linux-armv6l.tar.gz", + "d79d56bafd6b52b8d8cbe3f8e967caaac5383a23d7a4fa9ac0e89778cd16a076" + ], + "linux_ppc64le": [ + "go1.20.2.linux-ppc64le.tar.gz", + "850564ddb760cb703db63bf20182dc4407abd2ff090a95fa66d6634d172fd095" + ], + "linux_s390x": [ + "go1.20.2.linux-s390x.tar.gz", + "8da24c5c4205fe8115f594237e5db7bcb1d23df67bc1fa9a999954b1976896e8" + ], + "windows_386": [ + "go1.20.2.windows-386.zip", + "31838b291117495bbb93683603e98d5118bfabd2eb318b4d07540bfd524bab86" + ], + "windows_amd64": [ + "go1.20.2.windows-amd64.zip", + "fe439f0e438f7555a7f5f7194ddb6f4a07b0de1fa414385d19f2aeb26d9f43db" + ], + "windows_arm64": [ + "go1.20.2.windows-arm64.zip", + "ac5010c8b8b22849228a8dea698d58b9c7be2195d30c6d778cce0f709858fa64" + ] + }, + "1.22.0": { + "aix_ppc64": [ + "go1.22.0.aix-ppc64.tar.gz", + "190e105fc4133a8b5bb1492f368fa89aa4b729270441120714be7ee82e871ebc" + ], + "darwin_amd64": [ + "go1.22.0.darwin-amd64.tar.gz", + "ebca81df938d2d1047cc992be6c6c759543cf309d401b86af38a6aed3d4090f4" + ], + "darwin_arm64": [ + "go1.22.0.darwin-arm64.tar.gz", + "bf8e388b09134164717cd52d3285a4ab3b68691b80515212da0e9f56f518fb1e" + ], + "dragonfly_amd64": [ + "go1.22.0.dragonfly-amd64.tar.gz", + "357ab446200effa26c73ccaf3e8551426428950bf2490859fb296a09e53228b1" + ], + "freebsd_386": [ + "go1.22.0.freebsd-386.tar.gz", + "b8065da37783e8b9e7086365a54d74537e832c92311b61101a66989ab2458d8e" + ], + "freebsd_amd64": [ + "go1.22.0.freebsd-amd64.tar.gz", + "50f421c7f217083ac94aab1e09400cb9c2fea7d337679ec11f1638a11460da30" + ], + "freebsd_arm64": [ + "go1.22.0.freebsd-arm64.tar.gz", + "e23385e5c640787fa02cd58f2301ea09e162c4d99f8ca9fa6d52766f428a933d" + ], + "freebsd_armv6l": [ + "go1.22.0.freebsd-arm.tar.gz", + "c9c8b305f90903536f4981bad9f029828c2483b3216ca1783777344fbe603f2d" + ], + "freebsd_riscv64": [ + "go1.22.0.freebsd-riscv64.tar.gz", + "c8f94d1de6024546194d58e7b9370dc7ea06176aad94a675b0062c25c40cb645" + ], + "illumos_amd64": [ + "go1.22.0.illumos-amd64.tar.gz", + "d6792f11ad6ee5fc42d2fe51e1f1683471aa2ee4f20e3ad1be22a4afdbd38e7f" + ], + "linux_386": [ + "go1.22.0.linux-386.tar.gz", + "1e209c4abde069067ac9afb341c8003db6a210f8173c77777f02d3a524313da3" + ], + "linux_amd64": [ + "go1.22.0.linux-amd64.tar.gz", + "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265" + ], + "linux_arm64": [ + "go1.22.0.linux-arm64.tar.gz", + "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10" + ], + "linux_armv6l": [ + "go1.22.0.linux-armv6l.tar.gz", + "0525f92f79df7ed5877147bce7b955f159f3962711b69faac66bc7121d36dcc4" + ], + "linux_loong64": [ + "go1.22.0.linux-loong64.tar.gz", + "b4b1d425cc113608452a32768469b6e34e538fd072bde9f508a75c8dbbdb843f" + ], + "linux_mips": [ + "go1.22.0.linux-mips.tar.gz", + "ec0f9194df750c78492c02e4c70ffe6f3864f2511e47c894415320db752719f8" + ], + "linux_mips64": [ + "go1.22.0.linux-mips64.tar.gz", + "47e938d215e4968ab42afb7307792e5e64184a717e8f176d0de7c411af96d63d" + ], + "linux_mips64le": [ + "go1.22.0.linux-mips64le.tar.gz", + "c162a1a516b8bc8839fc0c0283ad90f6b511e5aca3da4939ed4800f124b9e72c" + ], + "linux_mipsle": [ + "go1.22.0.linux-mipsle.tar.gz", + "6ce3e9a06e3a8ca0312dc1f85046b6914c19852eba5393c5cbf26acf698f8977" + ], + "linux_ppc64": [ + "go1.22.0.linux-ppc64.tar.gz", + "5ae23bf460731eb078f5700b01a50a303308b9f7174a2994892e28bf061f7c85" + ], + "linux_ppc64le": [ + "go1.22.0.linux-ppc64le.tar.gz", + "0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93" + ], + "linux_riscv64": [ + "go1.22.0.linux-riscv64.tar.gz", + "afe9cedcdbd6fdff27c57efd30aa5ce0f666f471fed5fa96cd4fb38d6b577086" + ], + "linux_s390x": [ + "go1.22.0.linux-s390x.tar.gz", + "2e546a3583ba7bd3988f8f476245698f6a93dfa9fe206a8ca8f85c1ceecb2446" + ], + "netbsd_386": [ + "go1.22.0.netbsd-386.tar.gz", + "9b7e2dbd43a169bff18bf533a6c2f462eebe04126ab01c138d0d669c046e1658" + ], + "netbsd_amd64": [ + "go1.22.0.netbsd-amd64.tar.gz", + "b11995c271d2256dfe85cf54882ca3655e18c49c4d7db0502bff9977767894e7" + ], + "netbsd_arm64": [ + "go1.22.0.netbsd-arm64.tar.gz", + "499918ccfedde78264d194244d251bf41d95cf606cc0adad13b36b8103cb974f" + ], + "netbsd_armv6l": [ + "go1.22.0.netbsd-arm.tar.gz", + "b57a3aa9c862300ec0ee8609ce5e0f430f132044f351677fd34711a504081872" + ], + "openbsd_386": [ + "go1.22.0.openbsd-386.tar.gz", + "379e0829104c18a139d78b33378e6bd3ab2e0792f6c43b4c38e7f20d8d77b99d" + ], + "openbsd_amd64": [ + "go1.22.0.openbsd-amd64.tar.gz", + "ceb0c97ffc3bfaf74e1df843cb8571d7fc3173a08432f0f42112495df6a31520" + ], + "openbsd_arm64": [ + "go1.22.0.openbsd-arm64.tar.gz", + "358801cab7122ab50d7d92727644f26d818e9e973403f09e85c2e935a625db75" + ], + "openbsd_armv6l": [ + "go1.22.0.openbsd-arm.tar.gz", + "8af5aea3df539bc95ed412c0a176fe84baced70ea1dd29f4aa82d0e9ce27fd9f" + ], + "plan9_386": [ + "go1.22.0.plan9-386.tar.gz", + "fa42c545c9025c45ca9af176dc13a0f4af0cc26bacff6fcb35bb4a170ac538e8" + ], + "plan9_amd64": [ + "go1.22.0.plan9-amd64.tar.gz", + "d8cf64f37a1dfd8e190c5a303c43ab2d49324868f098d88a3106072d137a5a0b" + ], + "plan9_armv6l": [ + "go1.22.0.plan9-arm.tar.gz", + "86fd6165f0cbb47ad551094f74b3e5a6c5e09de858d8b99de72d978d41be6e2a" + ], + "solaris_amd64": [ + "go1.22.0.solaris-amd64.tar.gz", + "a6c12651768d3a74f16104502b4b7bef513ea6b646d99990a28d934c261d1689" + ], + "windows_386": [ + "go1.22.0.windows-386.zip", + "553d44928509965cbda02a45b35ab01cf8b925534bc526a34e2d9dc7794b57e8" + ], + "windows_amd64": [ + "go1.22.0.windows-amd64.zip", + "78b3158fe3aa358e0b6c9f26ecd338f9a11441e88bc434ae2e9f0ca2b0cc4dd3" + ], + "windows_arm64": [ + "go1.22.0.windows-arm64.zip", + "31a61e41d06a3bb2189a303f5f3e777ca4b454eff439f0a67bc2b166330021f4" + ], + "windows_armv6l": [ + "go1.22.0.windows-arm.zip", + "495c7dfaea4e2bf48643662bb622e4ce6378d6d9840015238ad4b8792b99ddbf" + ] + }, + "1.22.4": { + "aix_ppc64": [ + "go1.22.4.aix-ppc64.tar.gz", + "b9647fa9fc83a0cc5d4f092a19eaeaecf45f063a5aa7d4962fde65aeb7ae6ce1" + ], + "darwin_amd64": [ + "go1.22.4.darwin-amd64.tar.gz", + "c95967f50aa4ace34af0c236cbdb49a9a3e80ee2ad09d85775cb4462a5c19ed3" + ], + "darwin_arm64": [ + "go1.22.4.darwin-arm64.tar.gz", + "242b78dc4c8f3d5435d28a0d2cec9b4c1aa999b601fb8aa59fb4e5a1364bf827" + ], + "dragonfly_amd64": [ + "go1.22.4.dragonfly-amd64.tar.gz", + "f2fbb51af4719d3616efb482d6ed2b96579b474156f85a7ddc6f126764feec4b" + ], + "freebsd_386": [ + "go1.22.4.freebsd-386.tar.gz", + "7c54884bb9f274884651d41e61d1bc12738863ad1497e97ea19ad0e9aa6bf7b5" + ], + "freebsd_amd64": [ + "go1.22.4.freebsd-amd64.tar.gz", + "88d44500e1701dd35797619774d6dd51bf60f45a8338b0a82ddc018e4e63fb78" + ], + "freebsd_arm64": [ + "go1.22.4.freebsd-arm64.tar.gz", + "726dc093cf020277be45debf03c3b02b43c2efb3e2a5d4fba8f52579d65327dc" + ], + "freebsd_armv6l": [ + "go1.22.4.freebsd-arm.tar.gz", + "3d9efe47db142a22679aba46b1772e3900b0d87ae13bd2b3bc80dbf2ac0b2cd6" + ], + "freebsd_riscv64": [ + "go1.22.4.freebsd-riscv64.tar.gz", + "5f6b67e5e32f1d6ccb2d4dcb44934a5e2e870a877ba7443d86ec43cfc28afa71" + ], + "illumos_amd64": [ + "go1.22.4.illumos-amd64.tar.gz", + "d56ecc2f85b6418a21ef83879594d0c42ab4f65391a676bb12254870e6690d63" + ], + "linux_386": [ + "go1.22.4.linux-386.tar.gz", + "47a2a8d249a91eb8605c33bceec63aedda0441a43eac47b4721e3975ff916cec" + ], + "linux_amd64": [ + "go1.22.4.linux-amd64.tar.gz", + "ba79d4526102575196273416239cca418a651e049c2b099f3159db85e7bade7d" + ], + "linux_arm64": [ + "go1.22.4.linux-arm64.tar.gz", + "a8e177c354d2e4a1b61020aca3562e27ea3e8f8247eca3170e3fa1e0c2f9e771" + ], + "linux_armv6l": [ + "go1.22.4.linux-armv6l.tar.gz", + "e2b143fbacbc9cbd448e9ef41ac3981f0488ce849af1cf37e2341d09670661de" + ], + "linux_loong64": [ + "go1.22.4.linux-loong64.tar.gz", + "e2ff9436e4b34bf6926b06d97916e26d67a909a2effec17967245900f0816f1d" + ], + "linux_mips": [ + "go1.22.4.linux-mips.tar.gz", + "73f0dcc60458c4770593b05a7bc01cc0d31fc98f948c0c2334812c7a1f2fc3f1" + ], + "linux_mips64": [ + "go1.22.4.linux-mips64.tar.gz", + "417af97fc2630a647052375768be4c38adcc5af946352ea5b28613ea81ca5d45" + ], + "linux_mips64le": [ + "go1.22.4.linux-mips64le.tar.gz", + "7486e2d7dd8c98eb44df815ace35a7fe7f30b7c02326e3741bd934077508139b" + ], + "linux_mipsle": [ + "go1.22.4.linux-mipsle.tar.gz", + "69479c8aad301e459a8365b40cad1074a0dbba5defb9291669f94809c4c4be6e" + ], + "linux_ppc64": [ + "go1.22.4.linux-ppc64.tar.gz", + "dd238847e65bc3e2745caca475a5db6522a2fcf85cf6c38fc36a06642b19efd7" + ], + "linux_ppc64le": [ + "go1.22.4.linux-ppc64le.tar.gz", + "a3e5834657ef92523f570f798fed42f1f87bc18222a16815ec76b84169649ec4" + ], + "linux_riscv64": [ + "go1.22.4.linux-riscv64.tar.gz", + "56a827ff7dc6245bcd7a1e9288dffaa1d8b0fd7468562264c1523daf3b4f1b4a" + ], + "linux_s390x": [ + "go1.22.4.linux-s390x.tar.gz", + "7590c3e278e2dc6040aae0a39da3ca1eb2e3921673a7304cc34d588c45889eec" + ], + "netbsd_386": [ + "go1.22.4.netbsd-386.tar.gz", + "ddd2eebe34471a2502de6c5dad04ab27c9fc80cbde7a9ad5b3c66ecec4504e1d" + ], + "netbsd_amd64": [ + "go1.22.4.netbsd-amd64.tar.gz", + "33af79f6f935f6fbacc5d23876450b3567b79348fc065beef8e64081127dd234" + ], + "netbsd_arm64": [ + "go1.22.4.netbsd-arm64.tar.gz", + "c9a2971dec9f6d320c6f2b049b2353c6d0a2d35e87b8a4b2d78a2f0d62545f8e" + ], + "netbsd_armv6l": [ + "go1.22.4.netbsd-arm.tar.gz", + "fa3550ebd5375a70b3bcd342b5a71f4bd271dcbbfaf4eabefa2144ab5d8924b6" + ], + "openbsd_386": [ + "go1.22.4.openbsd-386.tar.gz", + "d21af022331bfdc2b5b161d616c3a1a4573d33cf7a30416ee509a8f3641deb47" + ], + "openbsd_amd64": [ + "go1.22.4.openbsd-amd64.tar.gz", + "72c0094c43f7e5722ec49c2a3e9dfa7a1123ac43a5f3a63eecf3e3795d3ff0ae" + ], + "openbsd_arm64": [ + "go1.22.4.openbsd-arm64.tar.gz", + "a7ab8d4e0b02bf06ed144ba42c61c0e93ee00f2b433415dfd4ad4b6e79f31650" + ], + "openbsd_armv6l": [ + "go1.22.4.openbsd-arm.tar.gz", + "1096831ea3c5ea3ca57d14251d9eda3786889531eb40d7d6775dcaa324d4b065" + ], + "openbsd_ppc64": [ + "go1.22.4.openbsd-ppc64.tar.gz", + "9716327c8a628358798898dc5148c49dbbeb5196bf2cbf088e550721a6e4f60b" + ], + "plan9_386": [ + "go1.22.4.plan9-386.tar.gz", + "a8dd4503c95c32a502a616ab78870a19889c9325fe9bd31eb16dd69346e4bfa8" + ], + "plan9_amd64": [ + "go1.22.4.plan9-amd64.tar.gz", + "5423a25808d76fe5aca8607a2e5ac5673abf45446b168cb5e9d8519ee9fe39a1" + ], + "plan9_armv6l": [ + "go1.22.4.plan9-arm.tar.gz", + "6af939ad583f5c85c09c53728ab7d38c3cc2b39167562d6c18a07c5c6608b370" + ], + "solaris_amd64": [ + "go1.22.4.solaris-amd64.tar.gz", + "e8cabe69c03085725afdb32a6f9998191a3e55a747b270d835fd05000d56abba" + ], + "windows_386": [ + "go1.22.4.windows-386.zip", + "aca4e2c37278a10f1c70dd0df142f7d66b50334fcee48978d409202d308d6d25" + ], + "windows_amd64": [ + "go1.22.4.windows-amd64.zip", + "26321c4d945a0035d8a5bc4a1965b0df401ff8ceac66ce2daadabf9030419a98" + ], + "windows_arm64": [ + "go1.22.4.windows-arm64.zip", + "8a2daa9ea28cbdafddc6171aefed384f4e5b6e714fb52116fe9ed25a132f37ed" + ], + "windows_armv6l": [ + "go1.22.4.windows-arm.zip", + "5fcd0671a49cecf39b41021621ee1b6e7aa1370f37122b72e80d4fd4185833b6" + ] + }, + "1.24.0": { + "aix_ppc64": [ + "go1.24.0.aix-ppc64.tar.gz", + "5d04588154d5923bd8e26b76111806340ec55c41af1b05623ea744fcb3d6bc22" + ], + "darwin_amd64": [ + "go1.24.0.darwin-amd64.tar.gz", + "7af054e5088b68c24b3d6e135e5ca8d91bbd5a05cb7f7f0187367b3e6e9e05ee" + ], + "darwin_arm64": [ + "go1.24.0.darwin-arm64.tar.gz", + "fd9cfb5dd6c75a347cfc641a253f0db1cebaca16b0dd37965351c6184ba595e4" + ], + "dragonfly_amd64": [ + "go1.24.0.dragonfly-amd64.tar.gz", + "d0dc34ad86aea746abe245994c68a9e1ad8f46ba8c4af901cd5861a4dd4c21df" + ], + "freebsd_386": [ + "go1.24.0.freebsd-386.tar.gz", + "4ee02b1f3812aff4da79c79464ee4038ca61ad74b3a9619850f30435f81c2536" + ], + "freebsd_amd64": [ + "go1.24.0.freebsd-amd64.tar.gz", + "838191001f9324da904dece35a586a3156d548687db87ac9461aa3d38fc88b09" + ], + "freebsd_arm": [ + "go1.24.0.freebsd-arm.tar.gz", + "ce6ad4e84a40a8a1d848b7e31b0cddfd1cee8f7959e7dc358a8fa8b5566ea718" + ], + "freebsd_arm64": [ + "go1.24.0.freebsd-arm64.tar.gz", + "511f7b0cac4c4ed1066d324072ce223b906ad6b2a85f2e1c5d260eb7d08b5901" + ], + "freebsd_riscv64": [ + "go1.24.0.freebsd-riscv64.tar.gz", + "a1e4072630dc589a2975ef51317b52c7d8599bf6f389fc59033c01e0a0fa705a" + ], + "illumos_amd64": [ + "go1.24.0.illumos-amd64.tar.gz", + "7593e9dcee9f07c3df6d099f7d259f5734a6c0dccc5f28962f18e7f501c9bb21" + ], + "linux_386": [ + "go1.24.0.linux-386.tar.gz", + "90521453a59c6ce20364d2dc7c38532949b033b602ba12d782caeb90af1b0624" + ], + "linux_amd64": [ + "go1.24.0.linux-amd64.tar.gz", + "dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858" + ], + "linux_arm64": [ + "go1.24.0.linux-arm64.tar.gz", + "c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7" + ], + "linux_armv6l": [ + "go1.24.0.linux-armv6l.tar.gz", + "695dc54fa14cd3124fa6900d7b5ae39eeac23f7a4ecea81656070160fac2c54a" + ], + "linux_loong64": [ + "go1.24.0.linux-loong64.tar.gz", + "a201e4c9b7e6d29ed64c43296ed88e81a66f82f2093ce45b766d2c526941396f" + ], + "linux_mips": [ + "go1.24.0.linux-mips.tar.gz", + "f3ac039aae78ad0bfb08106406c2e62eaf763dd82ebaf0ecd539adadd1d729a6" + ], + "linux_mips64": [ + "go1.24.0.linux-mips64.tar.gz", + "f2e6456d45e024831b1da8d88b1bb6392cca9500c1b00841f525d76c9e9553e0" + ], + "linux_mips64le": [ + "go1.24.0.linux-mips64le.tar.gz", + "b847893ff119389c939adc2b8516b6500204b7cb49d5e19b25e1c2091d2c74c6" + ], + "linux_mipsle": [ + "go1.24.0.linux-mipsle.tar.gz", + "bd4aed27d02746c237c3921e97029ac6b6fe687a67436b8f52ff1f698d330bd9" + ], + "linux_ppc64": [ + "go1.24.0.linux-ppc64.tar.gz", + "007123c9b06c41729a4bb3f166f4df7196adf4e33c2d2ab0e7e990175f0ce1d4" + ], + "linux_ppc64le": [ + "go1.24.0.linux-ppc64le.tar.gz", + "a871a43de7d26c91dd90cb6e0adacb214c9e35ee2188c617c91c08c017efe81a" + ], + "linux_riscv64": [ + "go1.24.0.linux-riscv64.tar.gz", + "620dcf48c6297519aad6c81f8e344926dc0ab09a2a79f1e306964aece95a553d" + ], + "linux_s390x": [ + "go1.24.0.linux-s390x.tar.gz", + "544d78b077c6b54bf78958c4a8285abec2d21f668fb007261c77418cd2edbb46" + ], + "netbsd_386": [ + "go1.24.0.netbsd-386.tar.gz", + "8b143a7edefbaa2a0b0246c9df2df1bac9fbed909d8615a375c08da7744e697d" + ], + "netbsd_amd64": [ + "go1.24.0.netbsd-amd64.tar.gz", + "67150a6dd7bdb9c4e88d77f46ee8c4dc99d5e71deca4912d8c2c85f7a16d0262" + ], + "netbsd_arm": [ + "go1.24.0.netbsd-arm.tar.gz", + "446b2539f11218fd6f6f6e3dd90b20ae55a06afe129885eeb3df51eb344eb0f6" + ], + "netbsd_arm64": [ + "go1.24.0.netbsd-arm64.tar.gz", + "370115b6ff7d30b29431223de348eb11ab65e3c92627532d97fd55f63f94e7a8" + ], + "openbsd_386": [ + "go1.24.0.openbsd-386.tar.gz", + "cbda5f15f06ed9630f122a53542d9de13d149643633c74f1dcb45e79649b788a" + ], + "openbsd_amd64": [ + "go1.24.0.openbsd-amd64.tar.gz", + "926f601d0e655ab1e8d7f357fd82542e5cf206c38c4e2f9fccf0706987d38836" + ], + "openbsd_arm": [ + "go1.24.0.openbsd-arm.tar.gz", + "8a54892f8c933c541fff144a825d0fdc41bae14b0832aab703cb75eb4cb64f2c" + ], + "openbsd_arm64": [ + "go1.24.0.openbsd-arm64.tar.gz", + "ef7fddcef0a22c7900c178b7687cf5aa25c2a9d46a3cc330b77a6de6e6c2396b" + ], + "openbsd_ppc64": [ + "go1.24.0.openbsd-ppc64.tar.gz", + "b3b5e2e2b53489ded2c2c21900ddcbbdb7991632bb5b42f05f125d71675e0b76" + ], + "openbsd_riscv64": [ + "go1.24.0.openbsd-riscv64.tar.gz", + "fbcb1dbf1269b4079dc4fd0b15f3274b9d635f1a7e319c3fc1a907b03280348e" + ], + "plan9_386": [ + "go1.24.0.plan9-386.tar.gz", + "33b4221e1c174a16e3f661deab6c60838ac4ae6cb869a4da1d1115773ceed88b" + ], + "plan9_amd64": [ + "go1.24.0.plan9-amd64.tar.gz", + "111a89014019cdbd69c2978de9b3e201f77e35183c8ab3606fba339d38f28549" + ], + "plan9_arm": [ + "go1.24.0.plan9-arm.tar.gz", + "8da3d3997049f40ebe0cd336a9bb9e4bfa4832df3c90a32f07383371d6d74849" + ], + "solaris_amd64": [ + "go1.24.0.solaris-amd64.tar.gz", + "b6069da21dc95ccdbd047675b584e5480ffc3eba35f9e7c8b0e7b317aaf01e2c" + ], + "windows_386": [ + "go1.24.0.windows-386.zip", + "b53c28a4c2863ec50ab4a1dbebe818ef6177f86773b6f43475d40a5d9aa4ec9e" + ], + "windows_amd64": [ + "go1.24.0.windows-amd64.zip", + "96b7280979205813759ee6947be7e3bb497da85c482711116c00522e3bb41ff1" + ], + "windows_arm64": [ + "go1.24.0.windows-arm64.zip", + "53f73450fb66075d16be9f206e9177bd972b528168271918c4747903b5596c3d" + ] + }, + "1.25.0": { + "aix_ppc64": [ + "go1.25.0.aix-ppc64.tar.gz", + "e5234a7dac67bc86c528fe9752fc9d63557918627707a733ab4cac1a6faed2d4" + ], + "darwin_amd64": [ + "go1.25.0.darwin-amd64.tar.gz", + "5bd60e823037062c2307c71e8111809865116714d6f6b410597cf5075dfd80ef" + ], + "darwin_arm64": [ + "go1.25.0.darwin-arm64.tar.gz", + "544932844156d8172f7a28f77f2ac9c15a23046698b6243f633b0a0b00c0749c" + ], + "dragonfly_amd64": [ + "go1.25.0.dragonfly-amd64.tar.gz", + "5ed3cf9a810a1483822538674f1336c06b51aa1b94d6d545a1a0319a48177120" + ], + "freebsd_386": [ + "go1.25.0.freebsd-386.tar.gz", + "abea5d5c6697e6b5c224731f2158fe87c602996a2a233ac0c4730cd57bf8374e" + ], + "freebsd_amd64": [ + "go1.25.0.freebsd-amd64.tar.gz", + "86e6fe0a29698d7601c4442052dac48bd58d532c51cccb8f1917df648138730b" + ], + "freebsd_arm": [ + "go1.25.0.freebsd-arm.tar.gz", + "d90b78e41921f72f30e8bbc81d9dec2cff7ff384a33d8d8debb24053e4336bfe" + ], + "freebsd_arm64": [ + "go1.25.0.freebsd-arm64.tar.gz", + "451d0da1affd886bfb291b7c63a6018527b269505db21ce6e14724f22ab0662e" + ], + "freebsd_riscv64": [ + "go1.25.0.freebsd-riscv64.tar.gz", + "7b565f76bd8bda46549eeaaefe0e53b251e644c230577290c0f66b1ecdb3cdbe" + ], + "illumos_amd64": [ + "go1.25.0.illumos-amd64.tar.gz", + "b1e1fdaab1ad25aa1c08d7a36c97d45d74b98b89c3f78c6d2145f77face54a2c" + ], + "linux_386": [ + "go1.25.0.linux-386.tar.gz", + "8c602dd9d99bc9453b3995d20ce4baf382cc50855900a0ece5de9929df4a993a" + ], + "linux_amd64": [ + "go1.25.0.linux-amd64.tar.gz", + "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613" + ], + "linux_arm64": [ + "go1.25.0.linux-arm64.tar.gz", + "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae" + ], + "linux_armv6l": [ + "go1.25.0.linux-armv6l.tar.gz", + "a5a8f8198fcf00e1e485b8ecef9ee020778bf32a408a4e8873371bfce458cd09" + ], + "linux_loong64": [ + "go1.25.0.linux-loong64.tar.gz", + "cab86b1cf761b1cb3bac86a8877cfc92e7b036fc0d3084123d77013d61432afc" + ], + "linux_mips": [ + "go1.25.0.linux-mips.tar.gz", + "d66b6fb74c3d91b9829dc95ec10ca1f047ef5e89332152f92e136cf0e2da5be1" + ], + "linux_mips64": [ + "go1.25.0.linux-mips64.tar.gz", + "4082e4381a8661bc2a839ff94ba3daf4f6cde20f8fb771b5b3d4762dc84198a2" + ], + "linux_mips64le": [ + "go1.25.0.linux-mips64le.tar.gz", + "70002c299ec7f7175ac2ef673b1b347eecfa54ae11f34416a6053c17f855afcc" + ], + "linux_mipsle": [ + "go1.25.0.linux-mipsle.tar.gz", + "b00a3a39eff099f6df9f1c7355bf28e4589d0586f42d7d4a394efb763d145a73" + ], + "linux_ppc64": [ + "go1.25.0.linux-ppc64.tar.gz", + "df166f33bd98160662560a72ff0b4ba731f969a80f088922bddcf566a88c1ec1" + ], + "linux_ppc64le": [ + "go1.25.0.linux-ppc64le.tar.gz", + "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0" + ], + "linux_riscv64": [ + "go1.25.0.linux-riscv64.tar.gz", + "c018ff74a2c48d55c8ca9b07c8e24163558ffec8bea08b326d6336905d956b67" + ], + "linux_s390x": [ + "go1.25.0.linux-s390x.tar.gz", + "34e5a2e19f2292fbaf8783e3a241e6e49689276aef6510a8060ea5ef54eee408" + ], + "netbsd_386": [ + "go1.25.0.netbsd-386.tar.gz", + "f8586cdb7aa855657609a5c5f6dbf523efa00c2bbd7c76d3936bec80aa6c0aba" + ], + "netbsd_amd64": [ + "go1.25.0.netbsd-amd64.tar.gz", + "ae8dc1469385b86a157a423bb56304ba45730de8a897615874f57dd096db2c2a" + ], + "netbsd_arm": [ + "go1.25.0.netbsd-arm.tar.gz", + "1ff7e4cc764425fc9dd6825eaee79d02b3c7cafffbb3691687c8d672ade76cb7" + ], + "netbsd_arm64": [ + "go1.25.0.netbsd-arm64.tar.gz", + "e1b310739f26724216aa6d7d7208c4031f9ff54c9b5b9a796ddc8bebcb4a5f16" + ], + "openbsd_386": [ + "go1.25.0.openbsd-386.tar.gz", + "4802a9b20e533da91adb84aab42e94aa56cfe3e5475d0550bed3385b182e69d8" + ], + "openbsd_amd64": [ + "go1.25.0.openbsd-amd64.tar.gz", + "c016cd984bebe317b19a4f297c4f50def120dc9788490540c89f28e42f1dabe1" + ], + "openbsd_arm": [ + "go1.25.0.openbsd-arm.tar.gz", + "a1e31d0bf22172ddde42edf5ec811ef81be43433df0948ece52fecb247ccfd8d" + ], + "openbsd_arm64": [ + "go1.25.0.openbsd-arm64.tar.gz", + "343ea8edd8c218196e15a859c6072d0dd3246fbbb168481ab665eb4c4140458d" + ], + "openbsd_ppc64": [ + "go1.25.0.openbsd-ppc64.tar.gz", + "694c14da1bcaeb5e3332d49bdc2b6d155067648f8fe1540c5de8f3cf8e157154" + ], + "openbsd_riscv64": [ + "go1.25.0.openbsd-riscv64.tar.gz", + "aa510ad25cf54c06cd9c70b6d80ded69cb20188ac6e1735655eef29ff7e7885f" + ], + "plan9_386": [ + "go1.25.0.plan9-386.tar.gz", + "46f8cef02086cf04bf186c5912776b56535178d4cb319cd19c9fdbdd29231986" + ], + "plan9_amd64": [ + "go1.25.0.plan9-amd64.tar.gz", + "29b34391d84095e44608a228f63f2f88113a37b74a79781353ec043dfbcb427b" + ], + "plan9_arm": [ + "go1.25.0.plan9-arm.tar.gz", + "0a047107d13ebe7943aaa6d54b1d7bbd2e45e68ce449b52915a818da715799c2" + ], + "solaris_amd64": [ + "go1.25.0.solaris-amd64.tar.gz", + "9977f9e4351984364a3b2b78f8b88bfd1d339812356d5237678514594b7d3611" + ], + "windows_386": [ + "go1.25.0.windows-386.zip", + "df9f39db82a803af0db639e3613a36681ab7a42866b1384b3f3a1045663961a7" + ], + "windows_amd64": [ + "go1.25.0.windows-amd64.zip", + "89efb4f9b30812eee083cc1770fdd2913c14d301064f6454851428f9707d190b" + ], + "windows_arm64": [ + "go1.25.0.windows-arm64.zip", + "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" + ] + } + } + } } diff --git a/bazel-diff-example.ps1 b/bazel-diff-example.ps1 new file mode 100644 index 0000000..5ed502e --- /dev/null +++ b/bazel-diff-example.ps1 @@ -0,0 +1,108 @@ +# PowerShell version of bazel-diff-example.sh for Windows compatibility + +param( + [Parameter(Mandatory=$true)] + [string]$WorkspacePath, + + [Parameter(Mandatory=$true)] + [string]$BazelPath, + + [Parameter(Mandatory=$true)] + [string]$PreviousRevision, + + [Parameter(Mandatory=$true)] + [string]$FinalRevision +) + +$ErrorActionPreference = "Stop" + +# Use temp directory for intermediate files +$TempDir = $env:TEMP +$StartingHashesJson = Join-Path $TempDir "starting_hashes.json" +$FinalHashesJson = Join-Path $TempDir "final_hashes.json" +$ImpactedTargetsPath = Join-Path $TempDir "impacted_targets.txt" +$BazelDiff = Join-Path $TempDir "bazel_diff.exe" + +# Set appropriate flags based on environment variables +$BazelDiffFlags = @() +if ($env:BAZEL_DIFF_DISABLE_WORKSPACE -eq "true") { + Write-Host "Disabling workspace for bazel-diff commands (BAZEL_DIFF_DISABLE_WORKSPACE=true)" + $BazelDiffFlags += "-co" + $BazelDiffFlags += "--enable_workspace=false" +} + +if ($env:BAZEL_DIFF_EXTRA_FLAGS) { + Write-Host "Injecting extra bazel-diff flags: $env:BAZEL_DIFF_EXTRA_FLAGS" + $BazelDiffFlags += $env:BAZEL_DIFF_EXTRA_FLAGS.Split(" ") +} + +# Bazel command options applied to both top-level bazel invocations and generate-hashes (via -co) +if ($env:BAZEL_EXTRA_COMMAND_OPTIONS) { + Write-Host "Applying extra Bazel command options to top-level and generate-hashes: $env:BAZEL_EXTRA_COMMAND_OPTIONS" + $BazelDiffFlags += "-co" + $BazelDiffFlags += $env:BAZEL_EXTRA_COMMAND_OPTIONS.Split(" ") +} + +# Set git checkout flags based on environment variable +$GitCheckoutFlags = @("--quiet") +if ($env:BAZEL_DIFF_FORCE_CHECKOUT -eq "true") { + Write-Host "Force checkout enabled (BAZEL_DIFF_FORCE_CHECKOUT=true) - will discard uncommitted changes" + $GitCheckoutFlags = @("--force", "--quiet") +} + +# Build bazel-diff and extract script +Write-Host "Building bazel-diff..." +$BazelExtraOptions = @() +if ($env:BAZEL_EXTRA_COMMAND_OPTIONS) { + $BazelExtraOptions = $env:BAZEL_EXTRA_COMMAND_OPTIONS.Split(" ") +} + +& $BazelPath run @BazelExtraOptions :bazel-diff --script_path="$BazelDiff" +if ($LASTEXITCODE -ne 0) { + throw "Failed to build bazel-diff" +} + +# Checkout previous revision +Write-Host "Checking out revision '$PreviousRevision'" +& git -C $WorkspacePath checkout @GitCheckoutFlags $PreviousRevision +if ($LASTEXITCODE -ne 0) { + throw "Failed to checkout revision $PreviousRevision" +} + +# Generate hashes for previous revision +Write-Host "Generating Hashes for Revision '$PreviousRevision'" +& $BazelDiff generate-hashes -w $WorkspacePath -b $BazelPath @BazelDiffFlags $StartingHashesJson +if ($LASTEXITCODE -ne 0) { + throw "Failed to generate hashes for revision $PreviousRevision" +} + +# Checkout final revision +Write-Host "Checking out revision '$FinalRevision'" +& git -C $WorkspacePath checkout @GitCheckoutFlags $FinalRevision +if ($LASTEXITCODE -ne 0) { + throw "Failed to checkout revision $FinalRevision" +} + +# Generate hashes for final revision +Write-Host "Generating Hashes for Revision '$FinalRevision'" +& $BazelDiff generate-hashes -w $WorkspacePath -b $BazelPath @BazelDiffFlags $FinalHashesJson +if ($LASTEXITCODE -ne 0) { + throw "Failed to generate hashes for revision $FinalRevision" +} + +# Determine impacted targets +Write-Host "Determining Impacted Targets" +& $BazelDiff get-impacted-targets -sh $StartingHashesJson -fh $FinalHashesJson -o $ImpactedTargetsPath +if ($LASTEXITCODE -ne 0) { + throw "Failed to get impacted targets" +} + +# Read and display impacted targets +if (Test-Path $ImpactedTargetsPath) { + $ImpactedTargets = Get-Content $ImpactedTargetsPath + Write-Host "Impacted Targets between $PreviousRevision and $FinalRevision:" + $ImpactedTargets | ForEach-Object { Write-Host $_ } + Write-Host "" +} else { + Write-Host "No impacted targets file found" +} diff --git a/cli/src/test/resources/fixture/cquery-test-android-code-change.zip b/cli/src/test/resources/fixture/cquery-test-android-code-change.zip index 3e2a911f91e16b2138a7abe379668fa25bb9f837..d6791b0244720bccf4c3e004a42bcd1d63605b60 100644 GIT binary patch delta 855 zcmaFm^WJB}BQ|FFmKl?uvhC-6932wVeauUTkCB1l=;V#;67`-vGcrNAw1S&~k>wju zoP_}h)&?ESYc}B7`&m>&T`SOe!7Q~Up1=E7IxUnC6A_xi67u!6J5%iO8D*>Z{gU>7 zPddKx2Cr-6V*$@=$v?y_%qH z!RM(LEi?|Vy(Ci~`#JM%LYGP*2bXuH*Y?i)sr*yzz4z}|oV+z`k9yoi|J)9zsynCb zH>#TZw0G5L@m;@vaQ3o2=d0)5u?t@p`uEL$ff~lm?>M>y1$o0mV&` zk8ejqCoEMsspKMoij9Gy>GtK`E0%0fj8i#jb8eDI|1;So-!n7#oj?Ei}BT$Mz!7N^{Aie=V${3%@*GX!FJC^hgfI}j`xTOt3+`yvr4*si|0s*Zb+nO~ND^h)udj*P*4pl= zbC^jo?>**aN_Iz4RMO()Azx>WTh3a7W5w@w}a$1pYs`LCkCtfLqinO<5vD3ExC0$ zRODN6xa^#czS002@1001MCAruvp zFeVd|HWnIx%~G*y!!Q)w{S`)&Lt|?<6w)csHFPpTNcM}XAWK1#QfzH+rfvqwktH{QGTdCVMXh5K`MGz+2#Q;4@Cxukf zpO8=yN0RnTLG82GlWx4+Krcb%?czAWU+I(`JrMi9br#H=-@RlwqmhW)0EFLFQ11bjG}%fzF&?X{O3u<7B=Uq$TH zbK8PvsB%EQKr=7WKaW{_p6vF9C7js5w=+uuHCVGx9Mc00D0)&{h)J;M4gmlFr;{%r yCId?zmXiS_7PD?3js*>Um`7YzsOznP0RR9}lL;n0lf51llUpVZ2230P0000Jx_;&W diff --git a/cli/src/test/resources/fixture/cquery-test-base.zip b/cli/src/test/resources/fixture/cquery-test-base.zip index 2f1d4098e498aa95616cd37c4d0f592c2c4040bb..75da129943d727c975a5d86afd389c765f9b9b39 100644 GIT binary patch delta 831 zcmV-F1Hk;=Oyf+j;syivgP4=$2EPqzSyWt$#!4&>0RRBSld%UFf2fC;X{v{qX?1uD z009K{0RR9500000tx~~mgD?!e^A#v3Dp5nAnkJ-4`;VzYp%@kv5|ji~_3K9hUB{Sq zst-q5%)?@ee(`OyO0++@z zA)+9hjcLmpcCltw|L_rKq#Gr-#o|vubI3^i$X-+rtx~N(XvewTV)1$A-sae8T*2pM z(Ksl>t#*WbaLro7L4o!mZGu2uc){}6luv+f9f5fK7cR9v0Tj=hEf003bG001MCAruvp zKqL&4o*D`V6oi;*6@-|RuNoGA5Z(P1Mw3HhYc~|qDbO`^GC@f8#Z{1{Ajv67>A&|R z+o{u*v~;Ql;nTf4-+S+r;Y~(XwpZZTo*y}-;Vv84xk8*3S*9dBFd;R!r%R}$upwR~ z$vn=I6p!W|r1vQi{0u5@}!G1r?$6(6ov{I0(ic(T+I|%6Z|# zkQ?ilv#Py?Zz~=xT%q58{;J*YCS65;S@4&2{0N$jAcUjDtTm=pz@kROeUrwQc0aZW z{3d&b{S59*-i*UUV}kdrR@?=4q*k&(qY4ks7Z#l9Z4IuNtwc0RRBSlO7-@1E`0Xlkp%Rvu7ZL1q}jMR9v0Tj=hEf003c=_$5696oi^hgfI}j`xTOt3+`yvr4*si|0s*Zb+nO~ND^h)udj*P*4pl= zbC^jo?>**aN_Iz4RMO()Azx>WTh3a7W5w@w}a$1pYs`LCkCtfLqinO<5vD3ExC0$ zRODN6xa^#czS002@1001MCAruvp z?;;G7FeV3+HWnI_zZwRA6x{t4Mw3HhYc~|qDbO`^GC@f8i>n|@L6TFF(tq!hY^P3J z($c9Kgr#?Pe)mqw@FpWG+beKv&ySqau$K+&Tp`YiEK?FLn3BSBdm@V@nV+*H#ie-% z>3vEBKZD8}x!dJZduT29(&!wqWEp|Z)((NKG9s(U##^b|HE2M8ps_^|CfmgTJxV8q zRMMZ2P!UQ$F3LkMl&r~iKsIm)qE$SEg<$*Oev5v)AO(R>^f^jck}ZIS(Bv=fsDhHu9G<*51Om zj7JMs=(oSl?suJku429{#*uS?kOEp+|2T)71M;y-s4Jdk2T!=}q=neq@ z0H>29ASMG#9+s1FBo>pN9162+AcO^z&>jQ{R;cT(fdK#jQj`59J(K1n6_ZaU4hBFR H00000n16yg diff --git a/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip b/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip index 2ed2544230650b9095d28657de375e23a03256e4..f71ae39a9bea4b99992272e5ffc0ed2ce7aefd40 100644 GIT binary patch delta 1013 zcmaFt^VDa<3ikTq$dH&^@3qA|j0_CNnHU&&7-SfH{ar$RT=kL?t5S19LpT|jceT&R z+ylg=72FJrEZ=}iSr~v|ZP4wk76XCW@7gNA%M3fQ!pjbpzk5^bgS4lW<_>oob^ejhB8Zf2;EMpY%yOVZpu~ z6=yC_xA@1R*XyddNFj!0>r>r%Yat8>CX*iCaIGwT-dTJy~;cHKi#fTKdo-A;wd-n zdpR%K&8NtH=ajoKC3?BD>pju-+y5WrM#q}(d;9KQcy8$5IR_MfFm3+KQ76dD6CM&X z_gvrJHeetnPOg*Euh(dqk*Nv9Xn}V&Xk*r41A)7LMcpPlCuf_BT++N?T4Lnr@$G2n zgry26H9cSM|E_X-<>hHxN>;Hwyu8=?e)an)4}IOjwuL{qF;Cud=|er~8#|rmh(<0` zu`y6I-M-v=#gYw*aVjTm&P@{OeAWRbZ1X!ebL0D3nnWosDYCFWT~Al!YboRe9Uy_h;hfwEeYtCXFXUPG8Kl-(KcPBu`fW?CW+)_GPXjHy!s z%mnH3Q}tuYlZ0}O6i`wbFfS@INPsdV12EAsENM)U0xL97<6;ITzR9*~3T*B&AZY+L C5w?l| delta 1013 zcmaFr^Vny@3ikT2@ZgxIPVK7vj0_AbnHU&&7-SfH{ar$RT=kL?t5S19LpT|jO^l~! zf^caCHv=QfH=t4$1|V1)bULrafM?HVQ4RI5Tc#VPV zX4zohd%Z!A>rd5DO9op_}0Q2T_hOu1`I((7*+%6LkzTf(hA!C}@W=YV$- zRRSqpV(xc>-YM>N_#~bBhO27p64fr8Y^P>l zPM&A?@`vaS6S3BgrUIiY)2>%+O$)03B$)nYl~u-+EEY#&AKs^%&!1cOJ9u@ctnH7= zIFqlZ3Rase*LTwQz4lG5Ke^o_QP1I}+PB@G+fQvjx^{ibrb}Jn+`rl<-F7URef}R) zCfn*?^LbU5zh(V@V~X?)XIHyYp6T)jUhj%X-{q4&UwhgryZr|gE0{Nb;HVSit)1Z> z6Sm^@+D2eF1x>D&(w}TCCSHFwXk*r41Ccv_McpPlCuf_BT++N?T4Lnr@vVEcg16(O z;7OP2-%rk2?iYRO(n_h8rRC*y-~CQ~P*c{vtzD3FzJJc84byqw#3-KY(g_yQn=$E7 zQMFRH%FOwjRgNyLWPe%f#bV!lN_yw*r$N;jy5BFoklC0b*?8_6U*lRMrPU{n)km+q zZJOb*V56&m+U=tZwqEM3A(!S)2oUtL*E{8`KV{9yG6%B)jzyt1Ev*TE1mEtsa*=nf zuX{Rg;PvivCNFm0@rh4v)~LLkcsp71z3h!_chSi9Q^I0y(l29QIXJ%EeErF#u#=_9 zy*V?iE%{|NpC4&oX!dEk@wI!0w)ePmhrg)bzW?02^117h_USx1ZB@r|)=l70;gL0_ z%R&!4>S_DCtXIFt{uE1nu#M9z!?~KXH_nvsIWg~Q*X{>>SG>d|LLMIcd8o;F@7jZ+ zo7DwRH;O!uOpp%0diu!X9dEZzm)-F4;n{fCH&=>pH>IyAa@gl!tbfVAKeA@tn{REZ zb8hV4ZtTru8nM|`<}x!cN`jxPs-Ol+-IFIODooB(kYfBixl_THF=6s`g=lssVFrfc zqU6a1vZj;s6!{n%Cf6$ZF&>_LMlqO?d$NL3IAb`F6rDUzl4tTvB`3!9P@d>yHf1ly zp2>mAxs30Cr1s=j%I-`L#3m~$iGUS9Q0AH(s}jJpTpS@JE;iX)PHi%`suWX?1XNgb za)7EIQ=uf3D>M0ms?y{I$}H0G)CJ6j$_x^qyvP7dYz#{p( Date: Fri, 20 Feb 2026 12:13:51 -0500 Subject: [PATCH 2/7] more updates --- .github/workflows/ci.yaml | 10 +++++++++- MODULE.bazel | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2b2b21f..79a6cff 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -111,8 +111,16 @@ jobs: with: go-version: ^1.17 id: go - - name: Setup Bazelisk + - name: Setup Bazelisk (Linux/macOS) + if: runner.os != 'Windows' run: go install github.com/bazelbuild/bazelisk@latest && export PATH=$PATH:$(go env GOPATH)/bin + - name: Setup Bazelisk (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + go install github.com/bazelbuild/bazelisk@latest + $env:PATH = "$env:PATH;$(go env GOPATH)\bin" + echo "$env:USERPROFILE\go\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/MODULE.bazel b/MODULE.bazel index d7d9f9b..6451171 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -5,7 +5,7 @@ module( ) bazel_dep(name = "rules_license", version = "1.0.0", dev_dependency = True) -bazel_dep(name = "aspect_rules_lint", version = "1.0.2", dev_dependency = True) +bazel_dep(name = "aspect_rules_lint", version = "2.1.0", dev_dependency = True) bazel_dep(name = "aspect_bazel_lib", version = "2.22.5", dev_dependency = True) bazel_dep(name = "bazel_skylib", version = "1.9.0") From 972efaeaef605488c0df791f606e2f3af6be2c82 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Fri, 20 Feb 2026 12:19:42 -0500 Subject: [PATCH 3/7] more updates --- bazel-diff-example.ps1 | 2 +- extensions.bzl | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bazel-diff-example.ps1 b/bazel-diff-example.ps1 index 5ed502e..94d4169 100644 --- a/bazel-diff-example.ps1 +++ b/bazel-diff-example.ps1 @@ -100,7 +100,7 @@ if ($LASTEXITCODE -ne 0) { # Read and display impacted targets if (Test-Path $ImpactedTargetsPath) { $ImpactedTargets = Get-Content $ImpactedTargetsPath - Write-Host "Impacted Targets between $PreviousRevision and $FinalRevision:" + Write-Host "Impacted Targets between ${PreviousRevision} and ${FinalRevision}:" $ImpactedTargets | ForEach-Object { Write-Host $_ } Write-Host "" } else { diff --git a/extensions.bzl b/extensions.bzl index f669555..02dff04 100644 --- a/extensions.bzl +++ b/extensions.bzl @@ -1,8 +1,14 @@ -"""Bzlmod extension that fetches repositories for aspect_rules_lint format (e.g. ktfmt).""" +"""Bzlmod extension that fetches repositories for formatting tools (e.g. ktfmt).""" -load("@aspect_rules_lint//format:repositories.bzl", "fetch_ktfmt") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar") def _non_module_repositories_impl(module_ctx): - fetch_ktfmt() + # Fetch ktfmt JAR from Maven Central + # This replaces the removed fetch_ktfmt() from aspect_rules_lint v1.x + http_jar( + name = "ktfmt", + integrity = "sha256-l/x/vRlNAan6RdgUfAVSQDAD1VusSridhNe7TV4/SN4=", + url = "https://repo1.maven.org/maven2/com/facebook/ktfmt/0.46/ktfmt-0.46-jar-with-dependencies.jar", + ) non_module_repositories = module_extension(_non_module_repositories_impl) From f4b6593670a014c867c25e7fce1d67b975657d3b Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Fri, 20 Feb 2026 12:28:58 -0500 Subject: [PATCH 4/7] more updates --- .bazelrc | 13 +++++++++++-- extensions.bzl | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.bazelrc b/.bazelrc index 89a7098..e2044b7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -6,9 +6,18 @@ test --sandbox_tmpfs_path=/tmp # Use a hermetic JDK for tests. common --java_runtime_version=remotejdk_21 +# Enable platform-specific config +common --enable_platform_specific_config + # Set C++ standard to C++17 for abseil-cpp compatibility -build --cxxopt=-std=c++17 -build --host_cxxopt=-std=c++17 +# Use GCC/Clang syntax for Linux and macOS +build:linux --cxxopt=-std=c++17 +build:linux --host_cxxopt=-std=c++17 +build:macos --cxxopt=-std=c++17 +build:macos --host_cxxopt=-std=c++17 +# Use MSVC syntax for Windows +build:windows --cxxopt=/std:c++17 +build:windows --host_cxxopt=/std:c++17 # Avoid cache thrashing, but allow integration tests to find "bazel" on the PATH. common --incompatible_strict_action_env diff --git a/extensions.bzl b/extensions.bzl index 02dff04..389590f 100644 --- a/extensions.bzl +++ b/extensions.bzl @@ -2,7 +2,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar") -def _non_module_repositories_impl(module_ctx): +def _non_module_repositories_impl(_module_ctx): # Fetch ktfmt JAR from Maven Central # This replaces the removed fetch_ktfmt() from aspect_rules_lint v1.x http_jar( From a7f5393f53a7841ecbdac86838e12c4c1c1d11a5 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Fri, 20 Feb 2026 15:24:15 -0500 Subject: [PATCH 5/7] more updates --- bazel-diff-example.ps1 | 26 ++++++++++++------ .../cquery-test-android-code-change.zip | Bin 9839 -> 18856 bytes .../resources/fixture/cquery-test-base.zip | Bin 9827 -> 9885 bytes .../fixture/cquery-test-guava-upgrade.zip | Bin 9829 -> 9887 bytes 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/bazel-diff-example.ps1 b/bazel-diff-example.ps1 index 94d4169..b59a7b5 100644 --- a/bazel-diff-example.ps1 +++ b/bazel-diff-example.ps1 @@ -21,7 +21,6 @@ $TempDir = $env:TEMP $StartingHashesJson = Join-Path $TempDir "starting_hashes.json" $FinalHashesJson = Join-Path $TempDir "final_hashes.json" $ImpactedTargetsPath = Join-Path $TempDir "impacted_targets.txt" -$BazelDiff = Join-Path $TempDir "bazel_diff.exe" # Set appropriate flags based on environment variables $BazelDiffFlags = @() @@ -50,18 +49,27 @@ if ($env:BAZEL_DIFF_FORCE_CHECKOUT -eq "true") { $GitCheckoutFlags = @("--force", "--quiet") } -# Build bazel-diff and extract script +# Build bazel-diff first to ensure it's ready Write-Host "Building bazel-diff..." $BazelExtraOptions = @() if ($env:BAZEL_EXTRA_COMMAND_OPTIONS) { $BazelExtraOptions = $env:BAZEL_EXTRA_COMMAND_OPTIONS.Split(" ") } -& $BazelPath run @BazelExtraOptions :bazel-diff --script_path="$BazelDiff" +& $BazelPath build @BazelExtraOptions //:bazel-diff if ($LASTEXITCODE -ne 0) { throw "Failed to build bazel-diff" } +# Helper function to run bazel-diff commands +function Run-BazelDiff { + param( + [string[]]$Arguments + ) + & $BazelPath run @BazelExtraOptions //:bazel-diff -- @Arguments + return $LASTEXITCODE +} + # Checkout previous revision Write-Host "Checking out revision '$PreviousRevision'" & git -C $WorkspacePath checkout @GitCheckoutFlags $PreviousRevision @@ -71,8 +79,8 @@ if ($LASTEXITCODE -ne 0) { # Generate hashes for previous revision Write-Host "Generating Hashes for Revision '$PreviousRevision'" -& $BazelDiff generate-hashes -w $WorkspacePath -b $BazelPath @BazelDiffFlags $StartingHashesJson -if ($LASTEXITCODE -ne 0) { +$exitCode = Run-BazelDiff (@("generate-hashes", "-w", $WorkspacePath, "-b", $BazelPath) + $BazelDiffFlags + @($StartingHashesJson)) +if ($exitCode -ne 0) { throw "Failed to generate hashes for revision $PreviousRevision" } @@ -85,15 +93,15 @@ if ($LASTEXITCODE -ne 0) { # Generate hashes for final revision Write-Host "Generating Hashes for Revision '$FinalRevision'" -& $BazelDiff generate-hashes -w $WorkspacePath -b $BazelPath @BazelDiffFlags $FinalHashesJson -if ($LASTEXITCODE -ne 0) { +$exitCode = Run-BazelDiff (@("generate-hashes", "-w", $WorkspacePath, "-b", $BazelPath) + $BazelDiffFlags + @($FinalHashesJson)) +if ($exitCode -ne 0) { throw "Failed to generate hashes for revision $FinalRevision" } # Determine impacted targets Write-Host "Determining Impacted Targets" -& $BazelDiff get-impacted-targets -sh $StartingHashesJson -fh $FinalHashesJson -o $ImpactedTargetsPath -if ($LASTEXITCODE -ne 0) { +$exitCode = Run-BazelDiff @("get-impacted-targets", "-sh", $StartingHashesJson, "-fh", $FinalHashesJson, "-o", $ImpactedTargetsPath) +if ($exitCode -ne 0) { throw "Failed to get impacted targets" } diff --git a/cli/src/test/resources/fixture/cquery-test-android-code-change.zip b/cli/src/test/resources/fixture/cquery-test-android-code-change.zip index d6791b0244720bccf4c3e004a42bcd1d63605b60..aaf5f0fd410efbcfdc3f285b751bc8548d37e104 100644 GIT binary patch delta 9434 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 D>_HLU delta 378 zcmZ26nen~PhEE(yTnr#kJHtKZZ~UPgZ6F(jIT&OZ^pX;*Qge!uCqHD8(N50K&CSnK z(ACXKEK7_pD$Og&%uS6iOD!tS%+IqeO3lqLNzF>hjyE*q+H9*MEIv8kjY|#HLMLqnhQ^^aCKr10<#q-?{`p}JjTMAA#ad%+8Ee4VMX(=^%1CYN+oMG}pE7Qpu9u7?H5zuaE>w&$nR*N-Iq^^^{}IlY*F5>Z!^n%^=Od0SxCr8BhQK00|>x;{X5v diff --git a/cli/src/test/resources/fixture/cquery-test-base.zip b/cli/src/test/resources/fixture/cquery-test-base.zip index 75da129943d727c975a5d86afd389c765f9b9b39..70baabfd0e92fb578b2275bb28440f1f26e7f949 100644 GIT binary patch delta 383 zcmaFtGuL;+Cysg%1_lNWhTP(im>KiKf>VLKCa{PMgI-c%RccOAa%c!A1M|GCGcrNA zw1S&~k>wjB0|N_C8G~=PBUgg~56k;~N)JLmu6b}&{Rd-b?i7z~mEHyW?#(-LdXx2= zDF&BLo%A?3_oT`p!3$y+XD|p~aD8Vo?QeVWp$2{p){KLmHWwUKICEE>%zhIdF2Jio)bw z3Q~+yCtp>FW-Omdl9b5e98_?2StG@v?f<6J25IxHc-)?tS`ns`8`lVR2(Q##dHTmDNMd6 rE;iXyPHi%$sua^f39t~z6hBozre%^)ZUEC9DKOJOO_!}+1{81r#;l3r delta 310 zcmbR1``Bm0Ck`bp1`w#7;U4oh{!orKkPX5d3^ELQNr_ddIYr5nA2P{kC+Fwp=I1Hs z>SiUDCB_$(=9OgTrpA}078Pga=h+se=H{2AW~F4u8ya$Lp32ECK6!#77bo1r$?FxA zCb!8cPyV7H#TY%AUoo1|c5=3&Cr`C714D69vVLx2X5QpNMbpWhvV4sDCbK97GqO$I zpd>muSILPn2*^riTm>W*Co6~wPxerDU}_hgyirMEa=aMVrV3~YcMT%*WI9N(TLTs|ED$pDWFjqm8b8?5OA5)GboXe=@&Xgnt O=4PqsvboBD!U+HXJ6}5h diff --git a/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip b/cli/src/test/resources/fixture/cquery-test-guava-upgrade.zip index f71ae39a9bea4b99992272e5ffc0ed2ce7aefd40..34edf523efb7e44a87a89139984f30e30a87b619 100644 GIT binary patch delta 385 zcmaFrGv9Z^7mj)n1_lNWh7-jhF*D|e1*ZaeO<)lj2EC-js??mK-tiouLdlNFT08T){w=;V2lJdcBW}vY?tDTcZpp=m4;RisAqO delta 301 zcmbR5`_yN{7Y-#Z1`w#7;U4oh{!orKkPX5d3^ELQNr_ddIYr5nA2P}4C+Fwp=I1Hs z>SiUDCB_$(=9OgTrpA}078Pga=h+se=H{2AW~F4u8ya#2cr&w1exo3 Date: Fri, 20 Feb 2026 16:01:54 -0500 Subject: [PATCH 6/7] update ci --- .github/workflows/ci.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 79a6cff..0aeee82 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -87,10 +87,8 @@ jobs: bazel: '9.x' disable_workspace: 'true' extra_flags: '--incompatible_disable_native_repo_rules' - - os: windows-latest - bazel: '7.x' - disable_workspace: 'false' - extra_flags: '' + # Skip Windows + Bazel 7.x due to protobuf compilation issues on MSVC + # Windows is tested with Bazel 8.x and 9.x which are more current - os: windows-latest bazel: '8.x' disable_workspace: 'true' From 31d65cab77ba1f463ad97cc8a9edfe436e3e28b9 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Fri, 20 Feb 2026 17:06:01 -0500 Subject: [PATCH 7/7] more test fixes --- cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt | 2 ++ .../main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt b/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt index 355baa1..0da9a86 100644 --- a/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt +++ b/cli/src/main/kotlin/com/bazel_diff/cli/GenerateHashesCommand.kt @@ -188,6 +188,8 @@ class GenerateHashesCommand : Callable { override fun call(): Int { validate(contentHashPath = contentHashPath) + // Stop any existing Koin instance before starting a new one (for E2E tests) + org.koin.core.context.GlobalContext.stopKoin() startKoin { modules( hasherModule( diff --git a/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt b/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt index 2ba0318..7947bd0 100644 --- a/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt +++ b/cli/src/main/kotlin/com/bazel_diff/cli/GetImpactedTargetsCommand.kt @@ -71,6 +71,8 @@ class GetImpactedTargetsCommand : Callable { @CommandLine.Spec lateinit var spec: CommandLine.Model.CommandSpec override fun call(): Int { + // Stop any existing Koin instance before starting a new one (for E2E tests) + org.koin.core.context.GlobalContext.stopKoin() startKoin { modules(serialisationModule(), loggingModule(parent.verbose)) } return try {