name: CI

on:
  pull_request:
  push:
    branches:
      - main
      - master
  schedule:
    - cron: "0 3 * * 0" # every Sunday at 3am

env:
  CI: true

jobs:
  lint_source:
    name: Lint Source
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
      - uses: wyvox/action-setup-pnpm@v4
        with:
          node-version: 24
      - name: Formatting
        run: pnpm format

      - name: ESLint
        run: pnpm lint:js

  lint_test-packages:
    name: Lint Test Packages
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
      - uses: wyvox/action-setup-pnpm@v4
        with:
          node-version: 24
      - name: ESLint
        run: pnpm lint:all:js

  lint_formatting:
    name: Lint Formatting
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
      - uses: wyvox/action-setup-pnpm@v4
        with:
          node-version: 24

  # lint_types:
  #   name: Lint Types
  #   runs-on: ubuntu-latest

  #   steps:
  #     - uses: actions/checkout@v3
  #     - uses: volta-cli/action@v4
  #     - uses: ./.github/actions/pnpm

  #     - name: Type Check
  #       run: pnpm tsc
