name: CI — Common Platform on: push: branches: [main] paths: - 'packages/**' - 'services/**' - 'dashboards/**' - 'pnpm-lock.yaml' - 'pnpm-workspace.yaml' - 'package.json' - 'tsconfig.base.json' # Root-level configs that affect CI behavior and must trigger a # rerun when modified (otherwise pushes to e.g. eslint.config.js # are silently skipped and CI stays red against stale code). - 'eslint.config.js' - '.gitea/workflows/**' concurrency: group: ci-common-plat-${{ github.ref }} cancel-in-progress: true jobs: build-and-test: name: Build, Test & Typecheck runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Pull latest run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat git fetch origin main git checkout main git reset --hard origin/main - name: Install dependencies run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm install --frozen-lockfile - name: Build all packages run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm build - name: Lint run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm lint - name: Typecheck run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm typecheck - name: Test run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm test publish-packages: name: Publish @bytelyst/* to Gitea npm registry runs-on: ubuntu-latest needs: [build-and-test] timeout-minutes: 15 steps: - name: Pull latest run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat git fetch origin main git checkout main git reset --hard origin/main - name: Install dependencies run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm install --frozen-lockfile - name: Build all packages run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat pnpm build - name: Publish outdated packages to Gitea registry run: | cd /Users/sd9235/code/mygh/learning_ai_common_plat bash ./scripts/gitea/publish-outdated-packages.sh --skip-build