Run the client crates' tests in an iOS simulator in CI - #108
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #108 +/- ##
==========================================
+ Coverage 84.62% 84.64% +0.01%
==========================================
Files 130 131 +1
Lines 31240 31447 +207
Branches 31240 31447 +207
==========================================
+ Hits 26436 26617 +181
- Misses 3283 3297 +14
- Partials 1521 1533 +12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|



The crates the iOS demo links had their tests run only on Linux. A new macOS job builds the tests of
connetto-core,connetto-auth-session,connetto-file-core,connetto-file-client,connetto-clientwithnative-authandconnetto-dioxusfor the iOS simulator and runs them inside one, asdiesel-sqlite-sessiondoes.About 55 of those tests start Postgres, OpenFGA and the mock identity provider in containers, and the runner has no Docker. Each fixture now copies a stopped template cluster and starts its own server on the copy, beside the OpenFGA and identity provider the workflow already starts for the simulator proof, so every test keeps a cluster to itself. The workflow makes the template with
initdbbefore the simulator runs, because a program started inside the simulator cannot look up the host's user andinitdbneeds to, while the server itself starts there fine. With the variables unset, every fixture keeps its container.Rehearsing the job found that the harness named two temporary directories made in the same millisecond alike, which let two fixtures share one. Names now carry a counter. On a Mac with Docker unreachable from the simulator, all six crates passed there, 449 tests with 3 ignored, without a single container. The job keeps no build cache, since main's caches have little room left, so this run also measures a cold build.