diff --git a/.forgejo/workflows/lint.yml b/.forgejo/workflows/lint.yml new file mode 100644 index 0000000000..a376cb4f73 --- /dev/null +++ b/.forgejo/workflows/lint.yml @@ -0,0 +1,83 @@ +name: Lint + +on: + push: + branches: + - master + - develop + paths: + - packages/** + pull_request: + +jobs: + pnpm_install: + runs-on: docker + steps: + - uses: actions/checkout@v4.1.1 + with: + fetch-depth: 0 + submodules: true + - uses: https://github.com/pnpm/action-setup@v2 + with: + version: 8 + run_install: false + - uses: https://code.forgejo.org/actions/setup-node@v4 + with: + node-version-file: '.node-version' + cache: 'pnpm' + - run: corepack enable + - run: pnpm i --frozen-lockfile + + lint: + needs: [pnpm_install] + runs-on: docker + 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: https://github.com/pnpm/action-setup@v2 + with: + version: 7 + run_install: false + - uses: https://code.forgejo.org/actions/setup-node@v4 + 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: docker + continue-on-error: true + strategy: + matrix: + workspace: + - backend + - misskey-js + steps: + - uses: actions/checkout@v4.1.1 + with: + fetch-depth: 0 + submodules: true + - uses: https://github.com/pnpm/action-setup@v2 + with: + version: 7 + run_install: false + - uses: https://code.forgejo.org/actions/setup-node@v4 + with: + node-version-file: '.node-version' + cache: 'pnpm' + - run: corepack enable + - run: pnpm i --frozen-lockfile + - run: pnpm --filter ${{ matrix.workspace }} run typecheck