It's not possible to use v4, as action-setup doesn't have v4 tag, and unlike GitHub Actions, Forgejo Actions doesn't try to automatically convert refs like v4 into full tags like v4.0.0.
90 lines
2.1 KiB
YAML
90 lines
2.1 KiB
YAML
name: Lint
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
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
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
- uses: pnpm/action-setup@v4.0.0
|
|
with:
|
|
run_install: false
|
|
- uses: actions/setup-node@v4.1.0
|
|
with:
|
|
node-version-file: '.node-version'
|
|
cache: 'pnpm'
|
|
- 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
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
- uses: pnpm/action-setup@v4.0.0
|
|
with:
|
|
run_install: false
|
|
- uses: actions/setup-node@v4.1.0
|
|
with:
|
|
node-version-file: '.node-version'
|
|
cache: 'pnpm'
|
|
- 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
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
- uses: pnpm/action-setup@v4.0.0
|
|
with:
|
|
run_install: false
|
|
- uses: actions/setup-node@v4.1.0
|
|
with:
|
|
node-version-file: '.node-version'
|
|
cache: 'pnpm'
|
|
- 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
|