The unit suites run on the project's own runner before main moves. And scripts/verify-build.py proves what two clean builds already showed: every byte of the APK's contents reproduces from this source — only the signing block differs, because signatures are randomized. Rebuild, compare contents, check the certificate: that is the whole trust chain. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
19 lines
600 B
YAML
19 lines
600 B
YAML
# T4: the Mac is in the merge path. Engine, client, and app unit suites on
|
|
# the project's own runner (tag mac-local). Instrumented tests stay manual:
|
|
# they need an emulator and a local relay.
|
|
stages: [test]
|
|
|
|
unit-tests:
|
|
stage: test
|
|
tags: [mac-local]
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
- if: '$CI_COMMIT_BRANCH == "main"'
|
|
variables:
|
|
GIT_DEPTH: "1"
|
|
script:
|
|
- export JAVA_HOME=/opt/homebrew/opt/openjdk@21
|
|
- export ANDROID_HOME=$HOME/Library/Android/sdk
|
|
- ./gradlew --no-daemon :engine:test :client:test :app:testDebugUnitTest
|
|
timeout: 30m
|