learning_ai_common_plat/.gitea/workflows/ci.yml
2026-03-29 11:08:11 -07:00

76 lines
2.1 KiB
YAML

name: CI — Common Platform
on:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
name: Build, Test & Typecheck
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: /Users/sd9235/code/mygh/learning_ai_common_plat
steps:
- name: Reset and pull latest
run: git reset --hard HEAD && git clean -fd && git pull --ff-only origin main || true
- name: Build all packages
run: pnpm -r --filter './packages/**' build
- name: Lint
run: pnpm lint
- name: Typecheck
run: pnpm typecheck
- name: Test
run: pnpm test
token-drift:
name: Check design token drift
runs-on: ubuntu-latest
timeout-minutes: 5
defaults:
run:
working-directory: /Users/sd9235/code/mygh/learning_ai_common_plat
steps:
- name: Reset and pull latest
run: git reset --hard HEAD && git clean -fd && git pull --ff-only origin main || true
- name: Regenerate tokens
run: npx tsx packages/design-tokens/scripts/generate.ts
- name: Check for drift
run: |
if git diff --exit-code packages/design-tokens/generated/; then
echo "✅ No token drift detected"
else
echo "❌ Token drift detected — run 'npx tsx packages/design-tokens/scripts/generate.ts' and commit"
git diff packages/design-tokens/generated/
exit 1
fi
publish-packages:
name: Publish @bytelyst/* to Gitea npm registry
runs-on: ubuntu-latest
needs: [build-and-test]
timeout-minutes: 10
defaults:
run:
working-directory: /Users/sd9235/code/mygh/learning_ai_common_plat
steps:
- name: Reset and pull latest
run: git reset --hard HEAD && git clean -fd && git pull --ff-only origin main || true
- name: Build all packages
run: pnpm -r --filter './packages/**' build
- name: Publish to local Gitea registry
run: bash ./scripts/publish-local-gitea-packages.sh