Skip to content

feat(tms): サーバーカスタムCSS #230

feat(tms): サーバーカスタムCSS

feat(tms): サーバーカスタムCSS #230

Workflow file for this run

name: Lint
on:
push:
branches:
- taiyme
- release
pull_request_target:
branches:
- taiyme
- release
permissions:
contents: read
jobs:
pre-checkout:
name: Pre checkout
uses: ./.github/workflows/pre-checkout.yaml
filter-lint-packages:
name: Filter Lint packages
runs-on: ubuntu-22.04
permissions:
pull-requests: read
outputs:
packages: ${{ steps.filter.outputs.changes }}
steps:
- name: Checkout ${{ github.sha }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ github.sha }}
fetch-depth: 1
- name: Filter (prepare)
id: prepare-filter
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
filters: |
__shared__: &__shared__
- .github/workflows/lint.yaml
- packages/shared/eslint.config.js
misskey-reversi:
- *__shared__
- packages/misskey-reversi/**/{package,tsconfig,tsconfig.eslint}.json
- packages/misskey-reversi/**/*.ts
misskey-bubble-game:
- *__shared__
- packages/misskey-bubble-game/**/{package,tsconfig,tsconfig.eslint}.json
- packages/misskey-bubble-game/**/*.ts
misskey-js:
- *__shared__
- packages/misskey-js/**/{package,tsconfig,tsconfig.eslint}.json
- packages/misskey-js/**/*.ts
backend:
- *__shared__
- packages/backend/**/{package,tsconfig,tsconfig.eslint}.json
- packages/backend/**/*.ts
- packages/backend/scripts/*.{js,mjs}
- packages/backend/src/server/web/*.js
sw:
- *__shared__
- packages/sw/**/{package,tsconfig,tsconfig.eslint}.json
- packages/sw/**/*.ts
frontend-shared:
- *__shared__
- packages/frontend-shared/**/{package,tsconfig,tsconfig.eslint}.json
- packages/frontend-shared/**/*.{ts,tsx,vue}
frontend:
- *__shared__
- packages/frontend/**/{package,tsconfig,tsconfig.eslint}.json
- packages/frontend/**/*.{ts,tsx,vue}
frontend-embed:
- *__shared__
- packages/frontend-embed/**/{package,tsconfig,tsconfig.eslint}.json
- packages/frontend-embed/**/*.{ts,tsx,vue}
- name: Filter
id: filter
env:
prepare_changes: ${{ steps.prepare-filter.outputs.changes }}
run: |
filtered_changes="$(jq -c 'map(select((startswith("__") and endswith("__")) | not))' <<< "$prepare_changes")"
echo "changes=${filtered_changes:-'[]'}" >> $GITHUB_OUTPUT
filter-typecheck-packages:
name: Filter Typecheck packages
runs-on: ubuntu-22.04
permissions:
pull-requests: read
outputs:
packages: ${{ steps.filter.outputs.changes }}
steps:
- name: Checkout ${{ github.sha }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ github.sha }}
fetch-depth: 1
- name: Filter (prepare)
id: prepare-filter
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
filters: |
__shared__: &__shared__
- .github/workflows/lint.yaml
misskey-reversi: &misskey-reversi
- *__shared__
- packages/misskey-reversi/**
misskey-bubble-game: &misskey-bubble-game
- *__shared__
- packages/misskey-bubble-game/**
misskey-js: &misskey-js
- *__shared__
- packages/misskey-js/**
backend:
- *__shared__
- *misskey-js
- *misskey-reversi
- packages/backend/**
sw:
- *__shared__
- *misskey-js
- packages/sw/**
# frontend-shared: &frontend-shared
# - *__shared__
# - packages/frontend-shared/**
# frontend:
# - *__shared__
# - *misskey-js
# - *misskey-reversi
# - *misskey-bubble-game
# - *frontend-shared
# - packages/frontend/**
# frontend-embed:
# - *__shared__
# - *misskey-js
# - *frontend-shared
# - packages/frontend-embed/**
- name: Filter
id: filter
env:
prepare_changes: ${{ steps.prepare-filter.outputs.changes }}
run: |
filtered_changes="$(jq -c 'map(select((startswith("__") and endswith("__")) | not))' <<< "$prepare_changes")"
echo "changes=${filtered_changes:-'[]'}" >> $GITHUB_OUTPUT
lint:
name: Lint
runs-on: ubuntu-22.04
needs:
- pre-checkout
- filter-lint-packages
if: needs.filter-lint-packages.outputs.packages != '[]'
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.filter-lint-packages.outputs.packages) }}
env:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.package }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ needs.pre-checkout.outputs.sha }}
fetch-depth: 1
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
with:
run_install: false
- name: Setup Node.js
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version-file: .node-version
cache: pnpm
- name: Install dependencies
run: |
pnpm i --frozen-lockfile
- name: Restore eslint cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ${{ env.eslint-cache-path }}
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.package }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ needs.pre-checkout.outputs.sha }}
restore-keys: eslint-${{ env.eslint-cache-version }}-${{ matrix.package }}-${{ hashFiles('**/pnpm-lock.yaml') }}-
- name: Run eslint
run: |
pnpm --filter ${{ matrix.package }} run eslint --cache --cache-location ${{ env.eslint-cache-path }} --cache-strategy content
typecheck:
name: Typecheck
runs-on: ubuntu-22.04
needs:
- pre-checkout
- filter-typecheck-packages
if: needs.filter-typecheck-packages.outputs.packages != '[]'
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.filter-typecheck-packages.outputs.packages) }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ needs.pre-checkout.outputs.sha }}
fetch-depth: 1
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
with:
run_install: false
- name: Setup Node.js
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version-file: .node-version
cache: pnpm
- name: Install dependencies
run: |
pnpm i --frozen-lockfile
- name: Build dependencies
run: |
pnpm --filter '${{ matrix.package }}...' --filter '!${{ matrix.package }}' run build
- name: Run typecheck
run: |
pnpm --filter ${{ matrix.package }} run typecheck