Skip to content

chore(ci): reusable worflow #683

chore(ci): reusable worflow

chore(ci): reusable worflow #683

Workflow file for this run

name: Checks
on:
pull_request:
push:
# Ensures cache is computed on main branch so that it can be reused on all PRs
branches: [ "main" ]
jobs:
lint-and-check-types:
runs-on: ubuntu-latest
strategy:
matrix:
node: ["18", "20"]
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: mkdir temp folder
run: mkdir -p ${{ runner.temp }}/bati-cache
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- uses: actions/cache/restore@v4
name: Setup Turborepo cache
with:
path: .turbo
key: ${{ runner.os }}-${{ matrix.node }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ matrix.node }}-turbo-
- name: Install dependencies
run: pnpm install
- name: Build packages
run: pnpm run build
- name: Run check types
run: pnpm run check-types
- name: Run lint
run: pnpm run lint