From 4ba11cc945e102bca90c5eafd2aeef3d60b45cdb Mon Sep 17 00:00:00 2001 From: Joshua King Date: Fri, 5 Jun 2026 10:24:33 -0400 Subject: [PATCH] ci: consolidate frontend gates into one job The 3-job ci.yaml re-cloned actions/checkout from github.com per job, and those clones intermittently fail with connection resets (build job died there even though lint/typecheck/test passed). Collapse to a single job: one checkout, then lint -> typecheck -> test -> build. Fewer github.com clones, faster, less flaky. Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/ci.yaml | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 9fba2a3..aa934cd 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -1,8 +1,9 @@ name: CI # Frontend quality gates (lint, typecheck, test, build-check). -# Actual build + deploy of the hub is handled by build-dev.yaml -# (pull-based release → Pi self-update). +# One job on purpose: the runner fetches each action from github.com, +# which is flaky (connection resets), so we check out once instead of +# re-cloning per job. The real hub build + deploy is build-dev.yaml. on: push: @@ -11,29 +12,12 @@ on: branches: [dev, main] jobs: - lint-and-typecheck: + quality: runs-on: go-react steps: - uses: actions/checkout@v4 - run: npm ci - run: npm run lint - run: npx tsc --noEmit - - test: - needs: lint-and-typecheck - runs-on: go-react - steps: - - uses: actions/checkout@v4 - - run: npm ci - run: npm test - - # Verify the frontend compiles. No artifact upload — Gitea Actions - # doesn't support upload-artifact@v4, and build-dev.yaml produces the - # real, deployed artifact anyway. - build: - needs: test - runs-on: go-react - steps: - - uses: actions/checkout@v4 - - run: npm ci - run: npm run build