Skip to content

feat: incremental builds again #473

feat: incremental builds again

feat: incremental builds again #473

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
# Automatically cancel older in-progress jobs on the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
env:
RUSTFLAGS: "-Dwarnings"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: moonrepo/setup-rust@v1
with:
components: clippy
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build JS dependencies
run: cargo xtask build-js
- name: Run Clippy
run: cargo clippy --all-targets --all-features
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: moonrepo/setup-rust@v1
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build JS dependencies
run: cargo xtask build-js
- name: Build
run: cargo build
e2e:
name: Test (E2E)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: moonrepo/setup-rust@v1
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build JS dependencies
run: cargo xtask build-js
- name: Build
run: cargo build
- name: Test
working-directory: ./e2e
run: pnpm playwright install chromium && pnpm test
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: moonrepo/setup-rust@v1
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build JS dependencies
run: cargo xtask build-js
- name: Test
run: cargo test