Skip to content

ci(runners): use github-hosted validation - #2825

Merged
JSONbored merged 1 commit into
mainfrom
codex/use-github-hosted-ci
Jul 3, 2026
Merged

ci(runners): use github-hosted validation#2825
JSONbored merged 1 commit into
mainfrom
codex/use-github-hosted-ci

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • move the remaining Gittensory CI validation job from self-hosted runners to GitHub-hosted runners
  • move dependency audit to ubuntu-latest
  • make the self-host maintenance workflow manual-only and GitHub-hosted, gated on SELF_HOST_URL

Why

The self-hosted review stack is CPU constrained. Keeping PR validation on the same VPS competes directly with review processing and causes the contributor review queue to stall.

Validation

  • git diff --check
  • npm run actionlint could not complete before dependencies were installed in the fresh worktree (github-actionlint module missing); CI will run the workflow lint with dependencies installed.

@JSONbored JSONbored self-assigned this Jul 3, 2026
@JSONbored
JSONbored merged commit 08e0bf9 into main Jul 3, 2026
7 of 8 checks passed
@JSONbored
JSONbored deleted the codex/use-github-hosted-ci branch July 3, 2026 20:37
@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
7558 2 7556 7
View the top 2 failed test(s) by shortest run time
test/unit/workflow-runner-labels.test.ts > workflow runner labels > keeps only the build/test job on the gittensory runner pool; non-build jobs run on GitHub-hosted runners
Stack Traces | 0.0154s run time
AssertionError: expected [] to have a length of 1 but got +0

- Expected
+ Received

- 1
+ 0

 ❯ test/unit/workflow-runner-labels.test.ts:16:90
test/unit/workflow-runner-labels.test.ts > workflow runner labels > keeps scheduled audit work on the trusted self-hosted pool
Stack Traces | 0.044s run time
AssertionError: expected 'name: Dependency audit\n\n# Full-tree…' to contain 'runs-on: [self-hosted, gittensory]'

- Expected
+ Received

- runs-on: [self-hosted, gittensory]
+ name: Dependency audit
+
+ # Full-tree `npm audit` for ambient advisories (vulnerabilities in deps no PR
+ # touched). This is intentionally NOT a per-PR gate: PRs are gated on the
+ # vulnerabilities they introduce via the dependency-review job in ci.yml, and
+ # Renovate (vulnerabilityAlerts) + GitHub Dependabot alerts open the fix PRs.
+ # This run keeps the whole tree under active audit on a cadence and on demand.
+
+ on:
+   schedule:
+     - cron: "0 16 * * 1" # Mondays 16:00 UTC (~9am America/Phoenix), aligns with Renovate
+   workflow_dispatch:
+
+ permissions:
+   contents: read
+
+ concurrency:
+   group: audit
+   cancel-in-progress: true
+
+ jobs:
+   audit:
+     name: audit
+     runs-on: ubuntu-latest
+     timeout-minutes: 10
+     steps:
+       - name: Checkout
+         uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
+       - name: Setup Node
+         uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
+         with:
+           node-version-file: .nvmrc
+           cache: npm
+       - name: Install dependencies
+         run: npm ci
+       - name: Full dependency audit
+         run: npm audit --audit-level=moderate
+

 ❯ test/unit/workflow-runner-labels.test.ts:39:22

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

JSONbored added a commit that referenced this pull request Jul 3, 2026
…n move (#2827)

#2825 moved validate-code and the scheduled audit job from the self-hosted
gittensory runner pool to ubuntu-latest while the self-hosted review stack is
CPU constrained, but left this drift guard pinned to the old self-hosted
expectations, breaking it on main for every branch cut afterward.
RealDiligent added a commit to RealDiligent/gittensory that referenced this pull request Jul 3, 2026
…SONbored#2821)

Update workflow-runner-labels expectations after main moved CI/audit to
ubuntu-latest (JSONbored#2825), and scan the leading 512KB of over-cap patch-less
files instead of skipping them entirely.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant