# The iOS app's models against the XRPC answers the screenshots recorded, so a # model that misreads an answer fails here rather than on a screen; what its # merge section says of each state; every write it makes against its lexicon; # and that it draws diagrams with the Pele the pages have. # Xcode needs macOS, so the app itself is built by hand (ios/README.md). Only on pulls that # touch what it reads, and no check deploy.yml waits for: nothing the app does # holds up a deploy. image: swift:6.2 runners: [runner.knotless.dev] on: pull: base: [refs/heads/main, refs/heads/feature/*] paths: [ios/**, lexicons/**, harness/shots/fixtures.json, web/package-lock.json, .knotless/workflows/ios.yml] steps: - name: tools run: | # What the step below needs to fetch and unpack Node, as this image hasn't them. apt-get update -qq apt-get install -y -qq --no-install-recommends curl ca-certificates xz-utils - uses: chadtmiller.com/steps/node@1 with: {version: 24.22.1} - uses: chadtmiller.com/steps/npm-ci@1 name: harness with: {dir: harness, omit: dev} - name: models run: | export PATH=/opt/node/bin:$PATH sh ios/check-models.sh - name: pele run: | export PATH=/opt/node/bin:$PATH sh ios/check-pele.sh