mirror of
https://github.com/nyakang/nyaterm.git
synced 2026-11-06 16:07:55 +00:00
- Introduced an `orchestrate` job to determine which CI jobs to run based on changed paths in pull requests. - Updated Rust workflow to conditionally execute jobs like linting, testing, and plugin SDK based on the selection logic. - Added a new script `select_rust_jobs.py` to handle job selection logic without requiring a Rust installation. - Enhanced documentation to explain the new CI execution model and its implications for contributors.
74 lines
2.0 KiB
YAML
74 lines
2.0 KiB
YAML
name: Docs
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
merge_group:
|
|
types: [checks_requested]
|
|
push:
|
|
branches: [main, migration/gpui]
|
|
pull_request:
|
|
branches: [main, migration/gpui]
|
|
|
|
# No paths filter, for the same reason as rust.yml: a filtered-out workflow never
|
|
# reports its gate, which blocks any pull request that requires it.
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
docs:
|
|
# This job name is quoted in docs-site/docs/development/setup.md and its English
|
|
# mirror. Keep the two in step if it ever changes.
|
|
name: Documentation site
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Install Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Check translation parity and authoring leftovers
|
|
run: python3 scripts/ci/check_docs_translations.py
|
|
|
|
# pnpm 11 requires Node.js >= 22.13 (it imports node:sqlite), and Node 20
|
|
# reached end of life in April 2026. pnpm is pinned exactly rather than to
|
|
# the 11 range so a future 11.x cannot raise the Node floor again without
|
|
# this file changing.
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 11.15.1
|
|
run_install: false
|
|
|
|
- name: Install documentation dependencies
|
|
run: pnpm --dir docs-site install --frozen-lockfile
|
|
|
|
- name: Build all locales
|
|
run: pnpm --dir docs-site build
|
|
|
|
gate:
|
|
name: Docs gate
|
|
runs-on: ubuntu-24.04
|
|
needs: [docs]
|
|
if: always()
|
|
timeout-minutes: 5
|
|
steps:
|
|
- name: Check dependency results
|
|
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
|
run: exit 1
|