From e46e8e480e16a997f48bf48440835ceed3a6cc4f Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 09:16:14 -0700 Subject: [PATCH 01/11] fix release script --- .circleci/config.yml | 41 ++++++++++++++++++++--------------------- MODULE.bazel.lock | 2 +- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b5ad07e..4eef22e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -70,7 +70,6 @@ commands: echo -e "pinentry-mode loopback\npassphrase $DEPLOY_MAVEN_GPG_PASSPHRASE" > ~/.gnupg/gpg.conf - run: | source ~/.bashrc - bundle install npx auto shipit --only-graduate-with-release-label -vv jobs: @@ -298,16 +297,16 @@ jobs: - codecov/upload: files: ./bazel-out/_coverage/_coverage_report.dat,./_ios_coverage/lcov/_coverage_report.dat - # maybe_release: - # executor: base - # steps: - # - attach_workspace: - # at: ~/devtools - # - run: echo "Should I release? (<< pipeline.parameters.should_release >>)" - # - when: - # condition: << pipeline.parameters.should_release >> - # steps: - # - auto_shipit + maybe_release: + executor: base + steps: + - attach_workspace: + at: ~/devtools + - run: echo "Should I release? (<< pipeline.parameters.should_release >>)" + - when: + condition: << pipeline.parameters.should_release >> + steps: + - auto_shipit release: executor: base @@ -384,16 +383,16 @@ workflows: - build-fork - bazelrc_fork - # - maybe_release: - # filters: - # branches: - # ignore: - # - /pull\/.*/ - # context: - # - Publish - # requires: - # - build-trunk - # - build-ios-trunk + - maybe_release: + filters: + branches: + ignore: + - /pull\/.*/ + context: + - Publish + requires: + - build-trunk + - build-ios-trunk - test: name: test-trunk diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 260fb2d..dc15d6f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -444,7 +444,7 @@ "bzlTransitiveDigest": "aVqwKoRPrSXO367SJABlye04kmpR/9VM2xiXB3nh3Ls=", "usagesDigest": "qH5h0y49b/BYrI5SRoLkSpQctbXmqG8KSHgoA8eopCE=", "recordedFileInputs": { - "@@//package.json": "67e3b7f9f90acf69324e02cc076bf27228a86e47d504d9d3461832705d75bc74" + "@@//package.json": "962616ef7c30fa95dc544c37d0b24e2e9018883abe79a88e4e4af4995c0ffb7a" }, "recordedDirentsInputs": {}, "envVariables": {}, From 310c4d306f6df855d9f8f175f5d770cd17bc2ab1 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 11:22:14 -0700 Subject: [PATCH 02/11] fix auto config --- .autorc | 2 -- .circleci/config.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.autorc b/.autorc index 7218abb..600ccf8 100644 --- a/.autorc +++ b/.autorc @@ -5,8 +5,6 @@ "noVersionPrefix": true, "owner": "player-ui", "repo": "devtools", - "githubApi": "https://github.com/api/v3", - "githubGraphqlApi": "https://github.com/api", "plugins": [ [ "version-file", diff --git a/.circleci/config.yml b/.circleci/config.yml index 4eef22e..a6151ef 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,8 +54,6 @@ commands: - v1-bazel-cache-core-{{ .Branch }}-{{ .Revision }} - v1-bazel-cache-core-{{ .Branch }} - v1-bazel-cache-core-main - - gem-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }} - - gem-v1-{{ arch }}-main-{{ checksum "Gemfile.lock" }} - add_ssh_keys: fingerprints: From 24fe0a50d47cf4f787bcfa2a2fc6fced7d82b523 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 11:36:00 -0700 Subject: [PATCH 03/11] ignore ios coverage --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0328175..5558d06 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ core.* .eslintcache tsconfig.tsbuildinfo /.build +.gitconfig # AI .augment @@ -58,4 +59,4 @@ test-results /.swiftpm # DO NOT commit your provisioning profile. It's a secret. /ios/demo/ProvisioningProfile -.gitconfig +_ios_coverage/ From 75e8657587c02a7a0a052ef8d12d3271c84728bd Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 12:47:59 -0700 Subject: [PATCH 04/11] set bash scope in release script --- helpers/release/release.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helpers/release/release.sh b/helpers/release/release.sh index a7182e4..6d1ecc1 100755 --- a/helpers/release/release.sh +++ b/helpers/release/release.sh @@ -1,6 +1,9 @@ #!/usr/bin/env bash -# See https://github.com/bazelbuild/rules_nodejs/blob/stable/scripts/publish_release.sh +# See https://github.com/bazelbuild/rules_nodejs/blob/stable/scripts/publish_release.sh + +# Re-exec under bash if running under sh (e.g. when invoked via Node's execPromise) +if [ -z "${BASH_VERSION:-}" ]; then exec bash "$0" "$@"; fi set -u -o pipefail From 61b81e431ef5839648341d7bd55ba51f66b37d93 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 13:34:58 -0700 Subject: [PATCH 05/11] fix npmrc --- .npmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.npmrc b/.npmrc index 5660f81..19dd293 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1 @@ -registry=https://registry.npmjs.org/ \ No newline at end of file +registry=https://registry.npmjs.com From 293ab04d2937b3e6d90b2b7e46d15f36d616aee8 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 15:33:17 -0700 Subject: [PATCH 06/11] add the right ssh deploy key --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a6151ef..d05d534 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,7 +57,7 @@ commands: - add_ssh_keys: fingerprints: - - "SHA256:hUAWVYdfSW5ml6ufbfyEHUcuPwUJ88xVhsZc21b2lA8" + - "SHA256:RhnscAi+Ary3YJrwH2O44cTFkszCXAsx8YLECueVzIA" - run: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config - run: echo "//registry.npmjs.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc From 01803f85792e58f083caa578a3e6c857853e0d66 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 15:41:42 -0700 Subject: [PATCH 07/11] bump version to 0.13.0 to avoid conflicts with packages already published under these names --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 99d85ec..2e60e2a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.6 \ No newline at end of file +0.0.13 \ No newline at end of file From c10ec12377fb06bcc7a46a4b062e49fc81661901 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 15:59:26 -0700 Subject: [PATCH 08/11] configure service account ssh key --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d05d534..4c876b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,7 +57,7 @@ commands: - add_ssh_keys: fingerprints: - - "SHA256:RhnscAi+Ary3YJrwH2O44cTFkszCXAsx8YLECueVzIA" + - "SHA256:9T15zSs+DPoCIc6I8CBPoArfXwblVrVlPwHkDgZfTrs" - run: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config - run: echo "//registry.npmjs.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc From 546cfa98480a47a28fc14b717033bedb275fd369 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 16:33:51 -0700 Subject: [PATCH 09/11] try concating to ssh config --- .circleci/config.yml | 2 +- BUILD | 2 -- VERSION | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4c876b0..fbb2ee3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -59,7 +59,7 @@ commands: fingerprints: - "SHA256:9T15zSs+DPoCIc6I8CBPoArfXwblVrVlPwHkDgZfTrs" - - run: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config + - run: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - run: echo "//registry.npmjs.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc - run: git config --global user.name "Intuit Service" - run: git config --global user.email "opensource-svc@intuit.com" diff --git a/BUILD b/BUILD index f1a100d..aab48d8 100644 --- a/BUILD +++ b/BUILD @@ -1,9 +1,7 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") load("@aspect_rules_ts//ts:defs.bzl", "ts_config") load("@npm//:defs.bzl", "npm_link_all_packages") -load("@rules_player//internal:defs.bzl", "stamp") load("@rules_player//ios:defs.bzl", "assemble_ios_release", "spm_publish") -load("//helpers:defs.bzl", "as_target") package(default_visibility = ["//visibility:public"]) diff --git a/VERSION b/VERSION index 2e60e2a..d33c3a2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.13 \ No newline at end of file +0.12.0 \ No newline at end of file From 248d54580790af37ef640d1950a880c7aeef1550 Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 16:49:00 -0700 Subject: [PATCH 10/11] try stricter deploy key --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fbb2ee3..c9beed1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -55,9 +55,10 @@ commands: - v1-bazel-cache-core-{{ .Branch }} - v1-bazel-cache-core-main + # SPM Publishing deploy key - add_ssh_keys: fingerprints: - - "SHA256:9T15zSs+DPoCIc6I8CBPoArfXwblVrVlPwHkDgZfTrs" + - "SHA256:RhnscAi+Ary3YJrwH2O44cTFkszCXAsx8YLECueVzIA" - run: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - run: echo "//registry.npmjs.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc From a5409ac564b4d74888328d0066c666633281e59b Mon Sep 17 00:00:00 2001 From: Jeremiah Zucker Date: Tue, 7 Apr 2026 18:38:02 -0700 Subject: [PATCH 11/11] patch in googlesource mirror --- MODULE.bazel | 7 ++++ MODULE.bazel.lock | 17 +++++----- patches/BUILD | 0 patches/rules_android.mirror.patch | 51 ++++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 patches/BUILD create mode 100644 patches/rules_android.mirror.patch diff --git a/MODULE.bazel b/MODULE.bazel index 43593e3..4a873d0 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -159,6 +159,13 @@ bazel_dep(name = "rules_kotlin", version = "2.1.8") register_toolchains("//helpers:kotlin_toolchain") bazel_dep(name = "rules_android", version = "0.6.5") +archive_override( + module_name = "rules_android", + urls = ["https://github.com/bazelbuild/rules_android/releases/download/v0.6.5/rules_android-v0.6.5.tar.gz"], + integrity = "sha256-WlGCx0go2lMWUiGYc5UmTUpc7owQwXF4oNXhI7vRYjw=", + strip_prefix = "rules_android-0.6.5", + patches = ["//patches:rules_android.mirror.patch"], +) bazel_dep(name = "rules_android_ndk", version = "0.1.3") # Overridden for https://github.com/bazelbuild/rules_android_ndk/pull/63 diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index dc15d6f..16d150f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -134,9 +134,6 @@ "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", - "https://bcr.bazel.build/modules/rules_android/0.6.4/MODULE.bazel": "b4cde12d506dd65d82b2be39761f49f5797303343a3d5b4ee191c0cdf9ef387c", - "https://bcr.bazel.build/modules/rules_android/0.6.5/MODULE.bazel": "6a44151a40914578679754a4f4b1fdc80d3e1cc674626524f0e6037a9d6c775f", - "https://bcr.bazel.build/modules/rules_android/0.6.5/source.json": "c45d1b4a54d165c16089b1fd90aecadd21a2400f0eca149359a41919da6830ed", "https://bcr.bazel.build/modules/rules_apple/3.16.1/MODULE.bazel": "8294474defa70af2534a558ab905c083d69203344145e6f7d544d5098611ec7d", "https://bcr.bazel.build/modules/rules_apple/3.22.0/MODULE.bazel": "0fd8c630d6cecc18abe84114ee21c1a0fb759b45063d3d2600ec22669e93ea43", "https://bcr.bazel.build/modules/rules_apple/3.3.0/MODULE.bazel": "7497a6e08c439493b863de42653868f78207bd26d32a0267423260ae2a1d861a", @@ -181,7 +178,6 @@ "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.3/MODULE.bazel": "e90505b7a931d194245ffcfb6ff4ca8ef9d46b4e830d12e64817752e0198e2ed", "https://bcr.bazel.build/modules/rules_java/8.9.0/MODULE.bazel": "e17c876cb53dcd817b7b7f0d2985b710610169729e8c371b2221cacdcd3dce4a", "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", "https://bcr.bazel.build/modules/rules_kotlin/2.1.8/MODULE.bazel": "e832456b08f4bdf23a466ae4ec424ce700d4ccaa2c9e83912d32791ade43b77d", @@ -743,8 +739,8 @@ }, "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": { "general": { - "bzlTransitiveDigest": "aDSxoLkIA0GyiHP6VPgxLuAWEmulTMkYgxvB/P0Q42g=", - "usagesDigest": "1Qhk6tNnWxNqSDaiVmfYaqO16gBDhFUTC6GNXZ3YFbc=", + "bzlTransitiveDigest": "cNj/7Bf07wCTfpcPnEifXGf2ncp0JetCd8r8/R3tl3w=", + "usagesDigest": "ZrTiYR26Wy9PGuv1RbiuWb1G8J1KATRjUCnreK+P3Kg=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -752,8 +748,11 @@ "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" + "urls": [ + "https://mirror.bazel.build/android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz" + ], + "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD", + "sha256": "86b4848c038bf687fadc812239cb01fb8d1d15cef3125b480a0448360992b95d" } } }, @@ -769,7 +768,7 @@ "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": { "general": { "bzlTransitiveDigest": "NAy+0M15JNVEBb8Tny6t7j3lKqTnsAMjoBB6LJ+C370=", - "usagesDigest": "Tpfoy1yTXozGPr2TKk4Rfv3OuLHFCj+2Hehpu7sY5DQ=", + "usagesDigest": "EswOX/lRuqBRPvF+lokS23FARIc9khrC+LrACSddD7g=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, diff --git a/patches/BUILD b/patches/BUILD new file mode 100644 index 0000000..e69de29 diff --git a/patches/rules_android.mirror.patch b/patches/rules_android.mirror.patch new file mode 100644 index 0000000..75540ba --- /dev/null +++ b/patches/rules_android.mirror.patch @@ -0,0 +1,51 @@ +From a1d72ab513531a736369c432f81e06c15b33b550 Mon Sep 17 00:00:00 2001 +From: Ted Xie +Date: Mon, 2 Mar 2026 15:58:40 -0800 +Subject: [PATCH] Add mirror for googlesource tarballs + +#465 + +PiperOrigin-RevId: 877618118 +Change-Id: I89abc54a3299437dc605f034928eecb6f4540887 +--- + bzlmod_extensions/apksig.bzl | 7 ++++++- + bzlmod_extensions/com_android_dex.bzl | 7 ++++++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git bzlmod_extensions/apksig.bzl bzlmod_extensions/apksig.bzl +index 10299fdcb..39babbdd9 100644 +--- bzlmod_extensions/apksig.bzl ++++ bzlmod_extensions/apksig.bzl +@@ -24,7 +24,12 @@ def apksig(_ctx = None): + # NOTE(b/317109605): Cannot depend on a stable sha256 hash for googlesource repositories. + http_archive( + name = "apksig", +- url = "https://android.googlesource.com/platform/tools/apksig/+archive/%s.tar.gz" % APKSIG_COMMIT, ++ urls = [ ++ # Original download URL. Does not always return stable sha256sums, and can flake out. ++ # "https://android.googlesource.com/platform/tools/apksig/+archive/%s.tar.gz" % APKSIG_COMMIT, ++ "https://mirror.bazel.build/android.googlesource.com/platform/tools/apksig/+archive/%s.tar.gz" % APKSIG_COMMIT, ++ ], ++ sha256 = "12e44fdbd219c5e1cc62099c2a01d775957603d2d4f693f8285f9d95d9a04e77", + build_file = Label("//bzlmod_extensions:apksig.BUILD"), + ) + +diff --git bzlmod_extensions/com_android_dex.bzl bzlmod_extensions/com_android_dex.bzl +index 6469f51be..0c052dba6 100644 +--- bzlmod_extensions/com_android_dex.bzl ++++ bzlmod_extensions/com_android_dex.bzl +@@ -22,8 +22,13 @@ def com_android_dex(_ctx = None): + # NOTE(b/317109605): Cannot depend on a stable sha256 hash for googlesource repositories. + http_archive( + name = "com_android_dex", +- url = "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", ++ urls = [ ++ # Original download URL. Does not always return stable sha256sums, and can flake out. ++ # "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", ++ "https://mirror.bazel.build/android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", ++ ], + build_file = Label("//bzlmod_extensions:com_android_dex.BUILD"), ++ sha256 = "86b4848c038bf687fadc812239cb01fb8d1d15cef3125b480a0448360992b95d", + ) + + com_android_dex_extension = module_extension( \ No newline at end of file