name: Lint # Controls when the action will run. on: # Triggers the workflow on pull request events but only for the main branch pull_request: branches: [main] push: branches: [main] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: permissions: contents: read # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: lint: runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Setup Node.js uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7 with: node-version: 24.21.0 package-manager-cache: false - name: Install Pnpm uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 with: run_install: true - name: Build Packages run: node --run build - name: Check Rust Format run: cargo fmt --all -- --check - name: Lint Rust run: cargo clippy --profile ci --workspace --all-targets --locked -- -D warnings - name: Build Native Binding run: pnpm --filter rstack build:native:ci - name: Check run: node --run check - name: Check Spell run: node --run check:spell