Skip to content

Speed up pull request CI without removing coverage #208

Closed

Description

@woksin

The pull request checks should give feedback within a few minutes. This issue covers the week-1 safe slices for Arc.TypeScript: make the same checks finish sooner without removing any coverage from the pull request path.

Scope

  • Caching: dependency caches keyed on the lock files; confirm the cache is hit in the run log.
  • Critical path in parallel: split independent steps (lint, type check, tests, build) into parallel jobs where that shortens the wall time, still required.
  • Concurrency: cancel superseded pull request runs (never on main or publish).
  • No proxy generation in CI where a build does not consume proxies.

Acceptance criteria

  • No check is removed from the pull request path, and required check names stay unchanged or are deliberately migrated.
  • Pull request wall time is measured before and after (run ids recorded).
  • actionlint passes on the changed workflows.

Status

State: Done
Branch: l110-arc23-mcp
Scope: CI speed week 1 (L0 night task)
Plan: Workflow-only changes: caching, parallel jobs, PR concurrency cancel, no proxy generation; no coverage removed; before/after wall time measured.
Delivered: - #209
Remaining: To be confirmed.
Follow-ups: None.

Activity

  1. self-assigned this
    on Nov 11, 2026
  2. woksin commented on Nov 11, 2026

    @woksin
    ContributorAuthor

    Week-1 CI speed-up delivered in #209.

    • Yarn packages are cached, and superseded pull request runs are cancelled (main-branch runs are never cancelled).
    • The single verify job that ran the whole yarn ci chain is split into four parallel jobs: artifacts, quality (lint and typecheck), tests and docs. Every check still runs, and verify remains the required check that fails unless all four pass. Locally, yarn ci still runs the complete chain.

    Measured on pull request CI:

    Run Wall time
    Before monolithic verify (median of recent runs) 14.3 min
    After 43121035276 9.1 min

    The tests job (8.8 min) is now the critical path; the other parts take at most 2.1 min. Splitting it further (spec shards, and the Library end-to-end run in its own job) is tracked as a follow-up issue that references this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions