Repository navigation
Release 0.19.0 (#236) #471
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: 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 |