Skip to content

fix: stop transient ineligibility from permanently completing the fir… #32

fix: stop transient ineligibility from permanently completing the fir…

fix: stop transient ineligibility from permanently completing the fir… #32

# Description: Lint and format verification for GitHub merge queue runs and
# post-merge pushes to the default and release branches.
# Paired with ci-lint-format.yaml — workflow name and job name must match
# so branch protection resolves a single required check in both the
# pull_request and merge_group contexts. This file runs verify-only steps
# with a read-only token; auto-fix and PR comments live in the PR workflow.
# The push trigger catches merge-skew accumulation. Pre-merge checks only look
# at proposed state: pull_request evaluates a single PR's diff, and merge_group
# evaluates the temporary merge-queue ref (the projected post-merge result of
# the queued PRs). The push trigger instead validates the already-merged branch
# state, catching failures (e.g. unused exports) that accumulate on a branch and
# that no pre-merge check ever evaluates together.
name: 'CI: Lint Format'
on:
merge_group:
push:
branches:
- main
- 'cloud/**'
- 'core/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
lint-and-format:
runs-on: ubuntu-latest
steps:
- name: Checkout ref
uses: actions/checkout@v7
with:
# Blobless full history: pnpm locale:check (lint-format-verify)
# fetches the English source blobs recorded in
# src/locales/.source-manifest.json
fetch-depth: 0
filter: blob:none
- name: Setup frontend
uses: ./.github/actions/setup-frontend
- name: Verify lint and format
uses: ./.github/actions/lint-format-verify