ReviewOS

also looking at this

craft-native/craft

feat(maps): add key-free native Android maps and shared map controls

#363
Merged chris wants to merge codex/wildloop-native-map-providers into main
28 files +1857 -481

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

.github/workflows/benchmarks.ymlmodified+2-2
Changes to .github/workflows/benchmarks.yml
@@ -35,9 +35,9 @@ jobs:
3535 fetch-depth: 0
3636
3737 - name: Setup Zig
38 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
38 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
3939 with:
40 version: '0.11.91'
40 version: '0.11.92'
4141 - name: Install Linux dependencies
4242 run: |
4343 sudo apt-get update
.github/workflows/binary-size.ymlmodified+2-2
Changes to .github/workflows/binary-size.yml
@@ -49,9 +49,9 @@ jobs:
4949 fetch-depth: 0
5050
5151 - name: Setup Zig
52 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
52 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
5353 with:
54 version: '0.11.91'
54 version: '0.11.92'
5555 - name: Install Linux dependencies
5656 run: |
5757 sudo apt-get update
.github/workflows/ci.ymlmodified+24-24
Changes to .github/workflows/ci.yml
@@ -25,9 +25,9 @@ jobs:
2525 steps:
2626 - uses: actions/checkout@v6
2727 - name: Install the managed Android toolchain
28 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
28 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
2929 with:
30 version: '0.11.91'
30 version: '0.11.92'
3131 install: 'false'
3232 packages: bun.com@1.4.3 git-scm.org@2.53.0 openjdk.org@17.0.20.8 android.com/cmdline-tools@14742923.0.0
3333 - name: Boot and dispose the stock Play image through the SDK
@@ -55,9 +55,9 @@ jobs:
5555 - uses: actions/checkout@v6
5656
5757 - name: Setup Pantry (provides Bun, Zig, etc.)
58 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
58 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
5959 with:
60 version: '0.11.91'
60 version: '0.11.92'
6161
6262 - name: Verify Zig installation
6363 run: zig version
@@ -139,9 +139,9 @@ jobs:
139139 - uses: actions/checkout@v6
140140
141141 - name: Setup Pantry (provides Bun and Zig)
142 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
142 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
143143 with:
144 version: '0.11.91'
144 version: '0.11.92'
145145
146146 - name: First-party Zig dependencies
147147 uses: ./.github/actions/first-party-zig-deps
@@ -197,9 +197,9 @@ jobs:
197197 - uses: actions/checkout@v6
198198
199199 - name: Setup Pantry (provides Bun, Zig, etc.)
200 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
200 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
201201 with:
202 version: '0.11.91'
202 version: '0.11.92'
203203
204204 - name: Install dependencies
205205 run: bun install
@@ -242,9 +242,9 @@ jobs:
242242 - uses: actions/checkout@v6
243243
244244 - name: Setup Pantry (provides Bun, Zig, etc.)
245 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
245 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
246246 with:
247 version: '0.11.91'
247 version: '0.11.92'
248248
249249 - name: Install dependencies
250250 run: bun install
@@ -268,9 +268,9 @@ jobs:
268268 - uses: actions/checkout@v6
269269
270270 - name: Setup Pantry (provides Bun, Zig, etc.)
271 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
271 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
272272 with:
273 version: '0.11.91'
273 version: '0.11.92'
274274
275275 - name: Install XcodeGen
276276 run: brew install xcodegen
@@ -296,9 +296,9 @@ jobs:
296296 - uses: actions/checkout@v6
297297
298298 - name: Setup Pantry (provides Bun, Zig, etc.)
299 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
299 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
300300 with:
301 version: '0.11.91'
301 version: '0.11.92'
302302
303303 - name: Setup Java
304304 uses: actions/setup-java@v6
@@ -346,9 +346,9 @@ jobs:
346346 - uses: actions/checkout@v6
347347
348348 - name: Setup Pantry (provides Bun, Zig, etc.)
349 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
349 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
350350 with:
351 version: '0.11.91'
351 version: '0.11.92'
352352
353353 - name: Install dependencies
354354 run: bun install
@@ -364,9 +364,9 @@ jobs:
364364 - uses: actions/checkout@v6
365365
366366 - name: Setup Pantry (provides Bun, Zig, etc.)
367 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
367 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
368368 with:
369 version: '0.11.91'
369 version: '0.11.92'
370370
371371 - name: Install dependencies
372372 run: bun install
@@ -390,9 +390,9 @@ jobs:
390390 - uses: actions/checkout@v6
391391
392392 - name: Setup Pantry (provides Bun, Zig, etc.)
393 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
393 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
394394 with:
395 version: '0.11.91'
395 version: '0.11.92'
396396
397397 - name: Install dependencies
398398 run: bun install
@@ -466,9 +466,9 @@ jobs:
466466 - uses: actions/checkout@v6
467467
468468 - name: Setup Pantry (provides Bun, Zig, etc.)
469 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
469 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
470470 with:
471 version: '0.11.91'
471 version: '0.11.92'
472472
473473 - name: Install dependencies
474474 run: bun install
@@ -523,9 +523,9 @@ jobs:
523523 fetch-depth: 0
524524
525525 - name: Setup Pantry (provides Bun, Zig, etc.)
526 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
526 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
527527 with:
528 version: '0.11.91'
528 version: '0.11.92'
529529
530530 - name: Install Dependencies
531531 run: bun install
.github/workflows/mobile-e2e.ymlmodified+8-8
Changes to .github/workflows/mobile-e2e.yml
@@ -111,9 +111,9 @@ jobs:
111111 - uses: actions/checkout@v6
112112
113113 - name: Setup Pantry (provides Bun, Zig, etc.)
114 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
114 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
115115 with:
116 version: '0.11.91'
116 version: '0.11.92'
117117
118118 - name: Install dependencies
119119 run: bun install --frozen-lockfile
@@ -265,9 +265,9 @@ jobs:
265265 - uses: actions/checkout@v6
266266
267267 - name: Setup Pantry (provides Bun, Zig, etc.)
268 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
268 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
269269 with:
270 version: '0.11.91'
270 version: '0.11.92'
271271
272272 - name: Install XcodeGen
273273 run: brew install xcodegen
@@ -389,9 +389,9 @@ jobs:
389389 - uses: actions/checkout@v6
390390
391391 - name: Setup Pantry (provides Bun, Zig, etc.)
392 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
392 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
393393 with:
394 version: '0.11.91'
394 version: '0.11.92'
395395
396396 - name: Setup Java
397397 uses: actions/setup-java@v6
@@ -555,9 +555,9 @@ jobs:
555555 - uses: actions/checkout@v6
556556
557557 - name: Setup Pantry (provides Bun, Zig, etc.)
558 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
558 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
559559 with:
560 version: '0.11.91'
560 version: '0.11.92'
561561
562562 - name: Cache Zig artifacts
563563 uses: actions/cache@v5
.github/workflows/release.ymlmodified+10-10
Changes to .github/workflows/release.yml
@@ -69,9 +69,9 @@ jobs:
6969 fetch-depth: 0
7070
7171 - name: Setup Pantry (provides Bun, Zig, etc.)
72 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
72 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
7373 with:
74 version: '0.11.91'
74 version: '0.11.92'
7575
7676 - name: Install System Dependencies
7777 if: matrix.platform.deps != ''
@@ -344,9 +344,9 @@ jobs:
344344 # publish the Zig package here: a failed second leg would otherwise make
345345 # an incomplete version visible in the pantry registry.
346346 - name: Stage draft release
347 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
347 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
348348 with:
349 version: '0.11.91'
349 version: '0.11.92'
350350 install: 'false'
351351 release: 'true'
352352 release-draft: 'true'
@@ -435,9 +435,9 @@ jobs:
435435 # paths; it does not rebuild a platform binary. The complete GitHub
436436 # release is public before this registry version can become visible.
437437 - name: Publish Zig package
438 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
438 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
439439 with:
440 version: '0.11.91'
440 version: '0.11.92'
441441 install: 'false'
442442 publish: 'zig'
443443 package-dir: packages/zig
@@ -644,9 +644,9 @@ jobs:
644644 fetch-depth: 0
645645
646646 - name: Setup Pantry (provides Bun, Zig, etc.)
647 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
647 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
648648 with:
649 version: '0.11.91'
649 version: '0.11.92'
650650
651651 - name: Install Dependencies
652652 run: bun install --frozen-lockfile
@@ -731,9 +731,9 @@ jobs:
731731 fetch-depth: 0
732732
733733 - name: Setup Pantry (provides Bun, Zig, etc.)
734 uses: pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7 # v0.11.91
734 uses: pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9 # v0.11.92
735735 with:
736 version: '0.11.91'
736 version: '0.11.92'
737737 - uses: actions/setup-node@v6
738738 with:
739739 node-version: '24'
scripts/release-workflow.test.tsmodified+3-3
Changes to scripts/release-workflow.test.ts
@@ -101,8 +101,8 @@ test('workflow setup uses a known Pantry CLI instead of resolving latest', () =>
101101 for (const [name, job] of Object.entries(workflow.jobs)) {
102102 for (const step of job.steps ?? []) {
103103 if (step.uses?.startsWith('pantry-pm/pantry/packages/action@')) {
104 expect(step.with?.version, `${file} ${name} must pin Pantry CLI`).toBe('0.11.91')
105 expect(step.uses, `${file} ${name} must pin the matching action source`).toBe('pantry-pm/pantry/packages/action@2b6653b20b830c152f7491847a91d2d9d7cf4cc7')
104 expect(step.with?.version, `${file} ${name} must pin Pantry CLI`).toBe('0.11.92')
105 expect(step.uses, `${file} ${name} must pin the matching action source`).toBe('pantry-pm/pantry/packages/action@edda9c23439a37a35e0f828315e2380889cc75e9')
106106 }
107107 }
108108 }
@@ -250,7 +250,7 @@ test('a failed native leg cannot publish a partial GitHub, Zig, or npm release',
250250 expect(release.jobs.npm.if).toContain("needs.prepare-npm.result == 'success'")
251251 expect(release.jobs.npm.if).toContain("needs.publish-release.result == 'success'")
252252 const zigPublish = registry.steps!.find(step => step.name === 'Publish Zig package')
253 expect(zigPublish?.with).toMatchObject({ version: '0.11.91', install: 'false', publish: 'zig', 'package-dir': 'packages/zig' })
253 expect(zigPublish?.with).toMatchObject({ version: '0.11.92', install: 'false', publish: 'zig', 'package-dir': 'packages/zig' })
254254 expect(zigPublish?.with?.release).toBeUndefined()
255255 expect(Object.entries(release.jobs).flatMap(([name, job]) =>
256256 (job.steps ?? []).filter(step => step.with?.publish === 'zig').map(() => name))).toEqual(['publish-pantry'])