2023-02-14 13:13:34 +09:00
|
|
|
name: Lint
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
- develop
|
2024-01-08 23:51:31 +09:00
|
|
|
paths:
|
|
|
|
- packages/backend/**
|
|
|
|
- packages/frontend/**
|
2024-09-09 20:57:36 +09:00
|
|
|
- packages/frontend-shared/**
|
|
|
|
- packages/frontend-embed/**
|
2024-01-08 23:51:31 +09:00
|
|
|
- packages/sw/**
|
|
|
|
- packages/misskey-js/**
|
2024-09-23 21:25:23 +09:00
|
|
|
- packages/misskey-bubble-game/**
|
|
|
|
- packages/misskey-reversi/**
|
2024-07-02 11:38:34 +09:00
|
|
|
- packages/shared/eslint.config.js
|
2024-07-14 17:27:27 +09:00
|
|
|
- .github/workflows/lint.yml
|
2023-02-14 13:13:34 +09:00
|
|
|
pull_request:
|
2024-01-08 23:51:31 +09:00
|
|
|
paths:
|
|
|
|
- packages/backend/**
|
|
|
|
- packages/frontend/**
|
2024-09-09 20:57:36 +09:00
|
|
|
- packages/frontend-shared/**
|
|
|
|
- packages/frontend-embed/**
|
2024-01-08 23:51:31 +09:00
|
|
|
- packages/sw/**
|
|
|
|
- packages/misskey-js/**
|
2024-09-23 21:25:23 +09:00
|
|
|
- packages/misskey-bubble-game/**
|
|
|
|
- packages/misskey-reversi/**
|
2024-07-02 11:38:34 +09:00
|
|
|
- packages/shared/eslint.config.js
|
2024-07-14 17:27:27 +09:00
|
|
|
- .github/workflows/lint.yml
|
2023-02-14 13:13:34 +09:00
|
|
|
jobs:
|
|
|
|
pnpm_install:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2023-10-19 19:35:13 +09:00
|
|
|
- uses: actions/checkout@v4.1.1
|
2023-02-14 13:13:34 +09:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
submodules: true
|
2024-05-20 18:55:42 +09:00
|
|
|
- uses: pnpm/action-setup@v4
|
2024-10-25 15:08:10 +09:00
|
|
|
- uses: actions/setup-node@v4.1.0
|
2023-02-14 13:13:34 +09:00
|
|
|
with:
|
2023-04-15 10:20:39 +09:00
|
|
|
node-version-file: '.node-version'
|
2023-02-14 13:13:34 +09:00
|
|
|
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
|
2024-09-09 20:57:36 +09:00
|
|
|
- frontend-shared
|
|
|
|
- frontend-embed
|
2023-02-14 13:13:34 +09:00
|
|
|
- sw
|
2023-03-30 09:33:19 +09:00
|
|
|
- misskey-js
|
2024-09-23 21:25:23 +09:00
|
|
|
- misskey-bubble-game
|
|
|
|
- misskey-reversi
|
2024-09-06 14:45:53 +09:00
|
|
|
env:
|
|
|
|
eslint-cache-version: v1
|
|
|
|
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
|
2023-02-14 13:13:34 +09:00
|
|
|
steps:
|
2023-10-19 19:35:13 +09:00
|
|
|
- uses: actions/checkout@v4.1.1
|
2023-02-14 13:13:34 +09:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
submodules: true
|
2024-05-20 18:55:42 +09:00
|
|
|
- uses: pnpm/action-setup@v4
|
2024-10-25 15:08:10 +09:00
|
|
|
- uses: actions/setup-node@v4.1.0
|
2023-02-14 13:13:34 +09:00
|
|
|
with:
|
2023-04-15 10:20:39 +09:00
|
|
|
node-version-file: '.node-version'
|
2023-02-14 13:13:34 +09:00
|
|
|
cache: 'pnpm'
|
|
|
|
- run: corepack enable
|
|
|
|
- run: pnpm i --frozen-lockfile
|
2024-07-14 21:30:57 +09:00
|
|
|
- name: Restore eslint cache
|
2024-10-09 10:25:01 +09:00
|
|
|
uses: actions/cache@v4.1.0
|
2024-07-14 21:30:57 +09:00
|
|
|
with:
|
2024-09-06 14:45:53 +09:00
|
|
|
path: ${{ env.eslint-cache-path }}
|
|
|
|
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
|
|
|
|
restore-keys: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-
|
|
|
|
- run: pnpm --filter ${{ matrix.workspace }} run eslint --cache --cache-location ${{ env.eslint-cache-path }} --cache-strategy content
|
2023-02-23 08:23:55 +09:00
|
|
|
|
|
|
|
typecheck:
|
|
|
|
needs: [pnpm_install]
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
continue-on-error: true
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
workspace:
|
|
|
|
- backend
|
2024-08-30 15:53:04 +09:00
|
|
|
- sw
|
2023-03-30 09:33:19 +09:00
|
|
|
- misskey-js
|
2023-02-23 08:23:55 +09:00
|
|
|
steps:
|
2023-10-19 19:35:13 +09:00
|
|
|
- uses: actions/checkout@v4.1.1
|
2023-02-23 08:23:55 +09:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
|
|
|
submodules: true
|
2024-05-20 18:55:42 +09:00
|
|
|
- uses: pnpm/action-setup@v4
|
2024-10-25 15:08:10 +09:00
|
|
|
- uses: actions/setup-node@v4.1.0
|
2023-02-23 08:23:55 +09:00
|
|
|
with:
|
2023-04-15 10:20:39 +09:00
|
|
|
node-version-file: '.node-version'
|
2023-02-23 08:23:55 +09:00
|
|
|
cache: 'pnpm'
|
|
|
|
- run: corepack enable
|
|
|
|
- run: pnpm i --frozen-lockfile
|
2023-12-27 17:36:38 +09:00
|
|
|
- run: pnpm --filter misskey-js run build
|
2024-08-30 15:53:04 +09:00
|
|
|
if: ${{ matrix.workspace == 'backend' || matrix.workspace == 'sw' }}
|
2024-03-30 15:28:19 +09:00
|
|
|
- run: pnpm --filter misskey-reversi run build
|
2024-01-22 18:01:54 +09:00
|
|
|
if: ${{ matrix.workspace == 'backend' }}
|
2023-02-23 10:56:01 +09:00
|
|
|
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|