learning_ai_common_plat/.gitea/workflows/ci.yml
saravanakumardb1 deff216c7e refactor(gitea): robust manifest-based publish pipeline
publish-outdated-packages.sh rewritten:
- Manifest-based change detection (no registry tarball downloads)
- Single pack per package (not double-pack for check+publish)
- Deterministic content hash: normalizes version, publishConfig,
  and @bytelyst/* dep versions (workspace:* resolution noise)
- Single metadata fetch per package (cached in-process)
- Fixed .npmrc overwrite bug that broke auth during publish phase
- npm_clean() helper strips all proxy env vars uniformly

release-packages.sh fixed:
- .npmrc now includes scoped registry + proxy=false for corp
- Unified corp/home publish path (no duplicated code)
- version_on_registry() uses proxy-stripped env
- Registry credential check uses proxy-stripped env

CI workflow: switched to publish-outdated-packages.sh --skip-build
2026-04-13 01:47:03 -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 outdated packages to Gitea registry
run: bash ./scripts/gitea/publish-outdated-packages.sh --skip-build