ui: one click no longer launches a workspace or swaps a zone set (#91) #225
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| # A checkout is all any job here needs, so the token can only read. Nothing | |
| # in this file publishes anything. | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # Pushing a fixup to a branch leaves the previous run building to the end, | |
| # answering a question about a commit that no longer exists. On main they | |
| # queue instead: every commit there gets its own answer. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| # First, and on the cheapest runner there is: style is the half of review a | |
| # script can do, and nobody should hear about a trailing space from a person. | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - run: ./scripts/lint.sh | |
| # SECURITY.md asks people to grant Accessibility and Screen Recording on the | |
| # strength of what it says. This is the half of that page a script can settle, | |
| # so a commit that quietly falsifies one of its claims fails here rather than | |
| # leaving the document to promise something that stopped being true. The | |
| # claims about a signed bundle are checked where the signing happens, in | |
| # scripts/build.sh. | |
| security-claims: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - run: ./scripts/check-security-claims.sh | |
| app: | |
| # macos-14 still ships Swift 5.10; Package.swift needs tools version 6.0. | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Build | |
| run: swift build | |
| working-directory: App | |
| - name: Test | |
| run: ./scripts/test.sh | |
| mcp: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: mcp/package-lock.json | |
| - run: npm ci | |
| working-directory: mcp | |
| - run: npm run typecheck | |
| working-directory: mcp | |
| - run: npm test | |
| working-directory: mcp | |
| # The catalog and the Swift that reads it are two files that have to agree, | |
| # and nothing about a mismatch is visible until a key shows up on screen. | |
| strings: | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: 20 | |
| - run: node scripts/check-strings.mjs | |
| # Deliberately the cheapest job in the file: a pull request that adds one | |
| # layout to zone-sets/ gets an answer in seconds, on a runner that is not | |
| # queueing behind a Swift build it did not touch. | |
| zone-sets: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: 20 | |
| - run: node scripts/check-zone-sets.mjs |