Skip to content

fix: tell a shell user where Plonk.app comes from when it is not running #231

fix: tell a shell user where Plonk.app comes from when it is not running

fix: tell a shell user where Plonk.app comes from when it is not running #231

Workflow file for this run

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