Files
DIYgod 559b4b8423 ci: run dev's required checks on mobile-main pushes
The sync PR that merges a release branch back into dev is opened with
GITHUB_TOKEN, so it starts no pull_request workflows. Its auto-merge waits
for dev's required checks, "Format, Lint and Typecheck (lts/*)" and "Build
web and SSR server (lts/*)". Pushes to main run both on the merge commit, so
the desktop sync PR merges by itself, but pushes to mobile-main ran neither,
and mobile sync PRs sat until someone merged them by hand (#5095 waited eight
days).

Run both workflows on mobile-main pushes too, without cancelling runs in
progress there, and guard the triggers with a test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 19:50:25 +08:00

62 lines
1.8 KiB
YAML

on:
pull_request:
push:
branches: [main, dev, mobile-main]
# Do not use secrets or variables to allow for public access
env:
VITE_WEB_URL: https://app.folo.is
VITE_API_URL: https://api.follow.is
name: ✨ CI Format, Typecheck and Lint
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-lint
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/dev' && github.ref != 'refs/heads/mobile-main' }}
jobs:
build:
name: Format, Lint and Typecheck
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [lts/*]
steps:
- name: Checkout code
uses: actions/checkout@v7
with:
lfs: true
- name: Cache turbo build setup
uses: actions/cache@v6
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Checkout LFS objects
run: git lfs checkout
- uses: pnpm/action-setup@v6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile --child-concurrency=1
- name: Build web and SSR server
run: |
npm exec turbo run Folo#build:web @follow/ssr#build
- name: Format, Lint and Typecheck
run: |
export NODE_OPTIONS="--max_old_space_size=16384"
npm exec turbo run format:check typecheck lint
- name: Run release workflow tests
run: >-
pnpm exec vitest run
.github/scripts/extract-release-info.test.ts
.github/scripts/release-workflow-guards.test.ts
- name: Run test
run: npm exec turbo run test