Repository navigation
feat: enhance offline caching and analytics loading #1060
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "packages/**" | |
| - "bin/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| - "pnpm-workspace.yaml" | |
| - ".github/workflows/**" | |
| - ".npmrc" | |
| - ".oxlintrc.json" | |
| - ".prettier*" | |
| push: | |
| branches: [main] | |
| paths: | |
| - "packages/**" | |
| - "bin/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| - "pnpm-workspace.yaml" | |
| - ".github/workflows/**" | |
| - ".npmrc" | |
| - ".oxlintrc.json" | |
| - ".prettier*" | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| lint: | |
| if: github.repository == 'chaxus/ran' | |
| runs-on: ubuntu-latest | |
| name: "Lint & Type-check" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/action-setup@v6 | |
| with: | |
| version: latest | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Format check | |
| run: pnpm run lint:prettier | |
| # Generated docs (ranui COMPONENTS.md / style tokens, ranuts API.md and its two | |
| # docs-site copies) are committed. Without this, a component API change that | |
| # skipped `doc:api` leaves the reference silently wrong. | |
| - name: Generated docs are fresh | |
| run: pnpm run verify:docs | |
| # The executable half of docs/DESIGN.md. Prose rules only hold while whoever | |
| # edits a component has read the paragraph; this ratchets the known violations | |
| # so no new one lands and no fix silently regresses. | |
| - name: Design rules hold | |
| run: pnpm run verify:design | |
| - name: Lint | |
| run: pnpm run lint | |
| build-test: | |
| if: github.repository == 'chaxus/ran' | |
| timeout-minutes: 30 | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| node_version: [24, 26] | |
| include: | |
| - os: macos-latest | |
| node_version: 26 | |
| - os: windows-latest | |
| node_version: 26 | |
| fail-fast: false | |
| name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: pnpm/action-setup@v6 | |
| with: | |
| version: latest | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: ${{ matrix.node_version }} | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| run: pnpm run build | |
| - name: Lint published package manifests | |
| if: matrix.os == 'ubuntu-latest' && matrix.node_version == 24 | |
| run: pnpm run publint | |
| - name: Test | |
| run: pnpm run test |