Skip to content

ci: scope every CI job to the changed data instead of the full dataset #350

Closed

Description

@Seungpyo1007

Why

The 2026-09-29/30 mass-agent push (18 concurrent workers on one develop) exposed how expensive our CI is: every PR re-reads the whole dataset (~190k records / ~292k dump files) no matter how little changed, dump refresh takes ~33 min and re-runs on every rebase, and the automation volume coincided with the TechEngineBot account suspension.

Goal

Make every CI job scale with the size of the change, not the size of the dataset.

Plan

  1. Unblock – drop the suspended TechEngineBot from pr-metadata assignees (404s every PR).
  2. Scope calculator (TechEngine) – changed paths -> {category, files, full_run_required}; falls back to a full run when code/schema changed.
  3. Scoped loading – load_category accepts a file list; brand/soc slug sets for FK checks stay full (small).
  4. verify-comment – fetch-depth: 1, read data/_verify/status.json instead of rescoring everything, score once.
  5. validate – PRs validate changed files (+FK targets); full validation only on develop/main push and nightly.
  6. dump – per-category and per-path generation, category matrix; move dump refresh off the per-PR critical path (needs a decision on the "dump is the last commit of every data PR" rule).
  7. deploy-pages – precompute the homepage history timeline so the build no longer needs fetch-depth: 0.
  8. Cleanup – stale worktrees/branches (29 worktrees, 111 local branches), stale dump-refresh/* PRs.

Related: #297 (automation), TechEngine #97-#100.

Activity

  1. self-assigned this
    on Sep 30, 2026
  2. Seungpyo1007 commented on Oct 31, 2026

    @Seungpyo1007
    MemberAuthor

    Done in #374, #377 and #378. The dump is no longer committed or rebuilt per PR; pages.yml generates it at deploy. pr-checks runs the engine validator on the changed records only, and the full run only when the TechEngine pin moves. The old bot workflows are gone, and the stale branches and worktrees were cleaned up on 2026-10-31. Item 7 is left as it is: pages.yml keeps fetch-depth: 0, because the dump stamps created_at/updated_at from git history, and it only runs on a release.

  3. moved this from In Progress to Done in TechAPI-Projecton Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciCI and workflow changes

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions