name: Lint on: push: branches: - beta - io - host paths: - packages/backend/** - packages/frontend/** - packages/sw/** - packages/misskey-js/** - packages/shared/.eslintrc.js pull_request: paths: - packages/backend/** - packages/frontend/** - packages/sw/** - packages/misskey-js/** - packages/shared/.eslintrc.js jobs: pnpm_install: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 0 submodules: true - uses: pnpm/action-setup@v4 with: run_install: false - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' - run: corepack enable - run: pnpm i --frozen-lockfile lint: needs: [pnpm_install] runs-on: ubuntu-latest continue-on-error: true strategy: matrix: workspace: - backend - frontend - sw - misskey-js steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 0 submodules: true - uses: pnpm/action-setup@v4 with: run_install: false - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' - run: corepack enable - run: pnpm i --frozen-lockfile - run: pnpm --filter ${{ matrix.workspace }} run eslint typecheck: needs: [pnpm_install] runs-on: ubuntu-latest continue-on-error: true strategy: matrix: workspace: - backend - misskey-js steps: - uses: actions/checkout@v4.1.1 with: fetch-depth: 0 submodules: true - uses: pnpm/action-setup@v4 with: run_install: false - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' - run: corepack enable - run: pnpm i --frozen-lockfile - run: pnpm -r run build:tsc if: ${{ matrix.workspace == 'backend' }} - run: pnpm --filter misskey-js run build if: ${{ matrix.workspace == 'backend' }} - run: pnpm --filter ${{ matrix.workspace }} run typecheck