Skip to content

CI

CI #420

name: CI
on:
pull_request:
push:
branches: [main]
schedule:
- cron: "0 8 * * *" # Every day at 8:00 UTC
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: "24"
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
build:
runs-on: ubuntu-latest
steps:
- name: Parse repository
id: parse-repo
run: |
echo "owner=${GITHUB_REPOSITORY%/*}" >> "$GITHUB_OUTPUT"
echo "name=${GITHUB_REPOSITORY#*/}" >> "$GITHUB_OUTPUT"
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
owner: ${{ steps.parse-repo.outputs.owner }}
repositories: |
${{ steps.parse-repo.outputs.name }}
spectrum-ts
- uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: "24"
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- name: Generate docs from Vellum templates
run: pnpm docs:generate
env:
DOCS_SOURCE_MODE: git
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Typecheck documentation code blocks
run: pnpm typecheck:docs