diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 136068ef..747d9a8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,10 +6,13 @@ on: pull_request: branches: [main] -jobs: - ci: - runs-on: ubuntu-latest +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true +jobs: + lint: + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -27,12 +30,34 @@ jobs: run: pnpm install - name: Lint - run: | - pnpm --filter @multica/web lint - pnpm --filter @multica/desktop lint + run: pnpm turbo lint - - name: Type check - run: pnpm typecheck + build-and-typecheck: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 - - name: Build - run: pnpm build + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + run: pnpm install + + - name: Restore Turbo cache + uses: actions/cache@v4 + with: + path: .turbo + key: turbo-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }} + restore-keys: | + turbo-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}- + turbo-${{ runner.os }}- + + - name: Build and type check + run: pnpm turbo build typecheck