Skip to content

Cap human-triggered captures at 2K; track harness formats with dates #7

Cap human-triggered captures at 2K; track harness formats with dates

Cap human-triggered captures at 2K; track harness formats with dates #7

Workflow file for this run

name: CI
# Note: GitHub Actions does not support YAML anchors/aliases, so the
# paths-ignore list is spelled out for each trigger. Keep the two in sync.
#
# Gotcha: GitHub honors the skip-CI token anywhere in a commit message,
# including the body. A commit that merely *mentions* it in prose will skip
# its own run — spell it defensively when writing about it.
on:
push:
branches: ['main']
paths-ignore: ['Casks/**', 'docs/**', '**.md', 'LICENSE']
pull_request:
branches: ['main']
paths-ignore: ['Casks/**', 'docs/**', '**.md', 'LICENSE']
# Path filters apply only to push/pull_request, never to a workflow_call, so
# the release gate always runs the suite regardless of what the tag touched.
workflow_call:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
build-and-test:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Cache SPM dependencies
uses: actions/cache@v4
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
- name: Build
run: swift build
# Executable test runner, not XCTest — see Sources/SeenTests/AllTests.swift.
# Everything here is headless: no Screen Recording grant, no windows.
- name: Test
run: swift run SeenTests