Merge pull request #18 from windoze/test/tmux-probe-file-assertion #162
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: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| name: Rust, JS, and runtime compatibility | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cache Rust | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: packages/react/package.json | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Setup Deno | |
| uses: denoland/setup-deno@v2 | |
| with: | |
| deno-version: v2.x | |
| - name: Install Node test dependencies | |
| run: npm install --prefix packages/react --ignore-scripts --no-save @atto-ui/core@file:../core | |
| - name: Check Rust formatting | |
| run: cargo fmt --all -- --check | |
| - name: Lint Rust | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: Test Rust workspace | |
| run: cargo test --all --all-targets | |
| - name: Build native Node binding | |
| working-directory: crates/atto-ui-node | |
| run: npm run build | |
| - name: Typecheck core package | |
| run: npm exec --yes --package=typescript@5.9.3 -- tsc -p packages/core/tsconfig.json --noEmit | |
| - name: Test native Node binding | |
| run: npm test --prefix crates/atto-ui-node | |
| - name: Test core package on Node | |
| run: npm test --prefix packages/core | |
| - name: Test core package on Bun | |
| run: npm run test:runtime:bun --prefix packages/core | |
| - name: Test core package on Deno | |
| run: npm run test:runtime:deno --prefix packages/core | |
| - name: Typecheck React package | |
| run: npm run typecheck --prefix packages/react | |
| - name: Test React package | |
| run: npm test --prefix packages/react | |
| - name: Place npm artifacts | |
| working-directory: crates/atto-ui-node | |
| run: npm run npm:artifacts | |
| - name: Dry-run npm packages | |
| run: | | |
| npm pack --dry-run --json ./crates/atto-ui-node | |
| npm pack --dry-run --json ./crates/atto-ui-node/npm/linux-x64-gnu | |
| npm pack --dry-run --json ./packages/core | |
| npm pack --dry-run --json ./packages/react | |
| - name: Check whitespace | |
| run: git diff --check |