belgattitude/nextjs-monorepo-example

View on GitHub
.github/workflows/ci-remix-app.yml

Summary

Maintainability
Test Coverage
name: CI-remix-app

on:
  push:
    branches: [dev, main]
    paths:
      - 'apps/remix-app/*'
      - 'package.json'
      - '*.lock'
      - '.yarnrc.yml'
      - 'tsconfig.base.json'
      - '.prettier*'
      - '.github/**'

  pull_request:
    types: [opened, synchronize, reopened]
    paths:
      - 'apps/remix-app/*'
      - 'package.json'
      - '*.lock'
      - '.yarnrc.yml'
      - 'tsconfig.base.json'
      - '.prettier*'
      - '.github/**'

jobs:
  test:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: apps/remix-app
    strategy:
      matrix:
        node-version: [20.x]
    env:
      TURBO_API: 'http://127.0.0.1:9080'
      TURBO_TEAM: 'nextjs-monorepo-example'
      TURBO_TOKEN: 'local_server_turbo_relaxed_token'

    steps:
      - uses: actions/checkout@v4

      - name: โš™๏ธ Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}

      - name: โฉ TurboRepo local server
        uses: felixmosh/turborepo-gh-artifacts@v3
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          server-token: ${{ env.TURBO_TOKEN }}

      - name: ๐Ÿ“ฅ Monorepo install
        uses: ./.github/actions/yarn-nm-install

      - name: ๐Ÿ•ต๏ธ Typecheck
        run: yarn --top-level run turbo typecheck

      - name: ๐Ÿ”ฌ Linter
        run: |
          yarn --top-level run turbo lint
          yarn --top-level run turbo lint-styles
        env:
          TIMING: 1

      - name: ๐Ÿงช Unit tests
        run: yarn --top-level run turbo test-unit

      - name: ๐Ÿ— Build remix-app
        working-directory: apps/remix-app
        run: yarn --top-level run turbo build