Bump core: shortcut callbacks survive self-replacement; Windows regis… #5
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: JS CI | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "bindings/js/**" | |
| - "core" | |
| - "examples/js_*/**" | |
| - "package.json" | |
| - ".github/workflows/js-ci.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "bindings/js/**" | |
| - "core" | |
| - "examples/js_*/**" | |
| - "package.json" | |
| - ".github/workflows/js-ci.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-test: | |
| name: Build & Test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Checkout core | |
| run: git submodule update --init core | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - uses: denoland/setup-deno@v2 | |
| with: | |
| deno-version: v2.x | |
| - name: Install Linux dependencies | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y cmake pkg-config libgtk-3-dev libx11-dev libxi-dev xvfb | |
| # Installs the workspace and compiles the addon (the package's install hook). | |
| - run: npm install | |
| - name: Typecheck | |
| working-directory: bindings/js | |
| run: npx tsc -p tsconfig.json --noEmit | |
| - name: Test (Node) | |
| working-directory: bindings/js | |
| shell: bash | |
| run: | | |
| if [ "$RUNNER_OS" = "Linux" ]; then xvfb-run -a npm test; else npm test; fi | |
| - name: Smoke test (Deno) | |
| working-directory: bindings/js | |
| shell: bash | |
| run: | | |
| cmd="deno test --allow-ffi --allow-read --allow-env --allow-write test/" | |
| if [ "$RUNNER_OS" = "Linux" ]; then xvfb-run -a $cmd; else $cmd; fi | |
| - name: Build the TypeScript output | |
| working-directory: bindings/js | |
| run: npm run build:ts |