Skip to content

Release 0.19.0 (#236) #471

Release 0.19.0 (#236)

Release 0.19.0 (#236) #471

Workflow file for this run

name: check
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
javascript:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24
- run: npm ci
# dist/ is checked in for Git installs; it must match a fresh compile exactly.
- run: npm run check
- run: npm test
# The Swift MCP server serves the Node server's instructions and tools/list, compiled in; they must not drift.
- run: node scripts/contract.mjs --check
# Hosted consumers import the protocol and client modules off macOS.
- run: >-
node --input-type=module -e "const p = await import('@githubnext/desktop-tools/protocol');
const c = await import('@githubnext/desktop-tools');
if (!p.isDesktopAction({ op: 'click' }) || typeof c.createDesktop !== 'function') process.exit(1);"
native:
runs-on: macos-15
timeout-minutes: 60
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24
# Unsigned: signing belongs to each embedding app. The pure Swift host (#143) contains code ported from Peekaboo
# and AXorcist, so its build ships their MIT notices (#192).
- run: |
node dist/build.js --out build --scratch .build/native2
test -f build/Licenses/desktop-tools/LICENSE
test -f build/Licenses/peekaboo/LICENSE
test -f build/Licenses/axorcist/LICENSE
# Embedders rebuild into the same output; notices from other sources must survive.
- run: |
mkdir -p build/Licenses/embedder && echo kept > build/Licenses/embedder/NOTICE
node dist/build.js --out build --scratch .build/native2
test "$(cat build/Licenses/embedder/NOTICE)" = kept
- run: swift test --package-path native2 --scratch-path .build/native2