Skip to content

feat: enhance offline caching and analytics loading #1060

feat: enhance offline caching and analytics loading

feat: enhance offline caching and analytics loading #1060

Workflow file for this run

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