From c67f731f698f46e4e5737646ccd28b3cfd50be6e Mon Sep 17 00:00:00 2001 From: Scrubs McBarkley <18+gb_scrubs@noreply.git.farh.net> Date: Wed, 20 May 2026 01:30:06 +0000 Subject: [PATCH] chore: remove legacy .github/workflows --- .github/workflows/ci.yml | 434 --------------------------------------- 1 file changed, 434 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 6a8c173..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,434 +0,0 @@ -name: CI - -on: - push: - branches: [main, dev] - pull_request: - branches: [main, dev] - workflow_dispatch: - inputs: - ref: - description: "Branch or ref to run CI against" - required: false - default: "main" - -jobs: - lint-typecheck: - name: Lint & Typecheck - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v4 - with: - version: '9.15.4' - - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Typecheck - run: pnpm typecheck - - - name: Lint - run: pnpm lint - - test: - name: Test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v4 - with: - version: '9.15.4' - - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Run tests - run: pnpm test - - e2e: - name: E2E Tests - runs-on: ubuntu-latest - needs: [lint-typecheck, test] - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v4 - with: - version: '9.15.4' - - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Install Playwright browsers - run: pnpm --filter @groombook/e2e exec playwright install --with-deps chromium - - - name: Start Docker Compose stack - run: docker compose up -d --wait - timeout-minutes: 5 - - - name: Run E2E tests - run: pnpm --filter @groombook/e2e test - - - name: Upload Playwright report - if: failure() - uses: actions/upload-artifact@v4 - with: - name: playwright-report - path: apps/e2e/playwright-report/ - retention-days: 7 - - - name: Stop Docker Compose stack - if: always() - run: docker compose down - - build: - name: Build - runs-on: ubuntu-latest - needs: [lint-typecheck, test] - steps: - - uses: actions/checkout@v4 - - - uses: pnpm/action-setup@v4 - with: - version: '9.15.4' - - - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Build all packages - run: pnpm build - - docker: - name: Build & Push Docker Images - runs-on: ubuntu-latest - needs: [build, e2e] - outputs: - tag: ${{ steps.version.outputs.tag }} - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v4 - - - name: Generate image tag - id: version - run: | - # Always include short SHA so each build is immutable and cache-from can never - # cross-contaminate between commits. For PRs the format is pr-N-sha7; for main - # it is YYYY.MM.DD-sha7. - if [ "${{ github.event_name }}" = "pull_request" ]; then - TAG="pr-${{ github.event.pull_request.number }}-${GITHUB_SHA::7}" - else - TAG="$(date -u +%Y.%m.%d)-${GITHUB_SHA::7}" - fi - echo "tag=$TAG" >> "$GITHUB_OUTPUT" - echo "Image tag: $TAG" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push API image - uses: docker/build-push-action@v6 - with: - context: . - file: apps/api/Dockerfile - target: runner - push: true - tags: | - ghcr.io/groombook/api:${{ steps.version.outputs.tag }} - ${{ github.ref == 'refs/heads/main' && 'ghcr.io/groombook/api:latest' || '' }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push Migrate image - uses: docker/build-push-action@v6 - with: - context: . - file: apps/api/Dockerfile - target: migrate - push: true - tags: | - ghcr.io/groombook/migrate:${{ steps.version.outputs.tag }} - ${{ github.ref == 'refs/heads/main' && 'ghcr.io/groombook/migrate:latest' || '' }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push Seed image - uses: docker/build-push-action@v6 - with: - context: . - file: apps/api/Dockerfile - target: seed - push: true - tags: | - ghcr.io/groombook/seed:${{ steps.version.outputs.tag }} - ${{ github.ref == 'refs/heads/main' && 'ghcr.io/groombook/seed:latest' || '' }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push Reset image - uses: docker/build-push-action@v6 - with: - context: . - file: apps/api/Dockerfile - target: reset - push: true - tags: | - ghcr.io/groombook/reset:${{ steps.version.outputs.tag }} - ${{ github.ref == 'refs/heads/main' && 'ghcr.io/groombook/reset:latest' || '' }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push Web image - uses: docker/build-push-action@v6 - with: - context: . - file: apps/web/Dockerfile - push: true - tags: | - ghcr.io/groombook/web:${{ steps.version.outputs.tag }} - ${{ github.ref == 'refs/heads/main' && 'ghcr.io/groombook/web:latest' || '' }} - cache-from: type=gha - cache-to: type=gha,mode=max - - deploy-dev: - name: Deploy PR to groombook-dev - runs-on: runners-groombook - needs: [docker] - if: github.event_name == 'pull_request' - permissions: - contents: read - pull-requests: write - steps: - - name: Install kubectl - run: | - curl -sLO "https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x kubectl - sudo mv kubectl /usr/local/bin/ - kubectl version --client - - - name: Deploy to groombook-dev - env: - PR_NUM: ${{ github.event.pull_request.number }} - SHA: ${{ github.sha }} - run: | - TAG="pr-$PR_NUM-${SHA::7}" - echo "Deploying images tagged $TAG to groombook-dev..." - - # Run migration with PR image - kubectl delete job "migrate-pr-$PR_NUM" -n groombook-dev --ignore-not-found - cat <