Skip to content

Build: NX resource-class eval — linux-browsers-js = extra_large#34573

Closed
kasperpeulen wants to merge 30 commits into
kasper/nx-aifrom
kasper/nx-rc-xlarge
Closed

Build: NX resource-class eval — linux-browsers-js = extra_large#34573
kasperpeulen wants to merge 30 commits into
kasper/nx-aifrom
kasper/nx-rc-xlarge

Conversation

@kasperpeulen
Copy link
Copy Markdown
Member

@kasperpeulen kasperpeulen commented Apr 17, 2026

Closes #

What I did

NX Cloud resource-class sweep — branch 2 of 6. Do not merge.

Changes exactly one line: .nx/workflows/agents.yamllinux-browsers-js.resource-class = docker_linux_amd64/extra_large (40 credits/min).

Part of measuring the real cost / duration / flake curve across linux-browsers-js resource classes on real ci:normal traffic. Replaces the single linearly-extrapolated "medium+ projected" column in the NX-vs-CircleCI findings canvas with a 6-point data-backed curve. linux-js stays at extra_large+ across all branches. Parent branch kasper/nx-ai (#34282) strips CircleCI + NX_EXPERIMENT so these 6 PRs only exercise NX Cloud.

Sweep matrix:

Branch linux-browsers-js credits/min
kasper/nx-rc-xlarge-plus extra_large+ 60
kasper/nx-rc-xlarge extra_large 40
kasper/nx-rc-large-plus large+ 30
kasper/nx-rc-large large 20
kasper/nx-rc-medium-plus medium+ 15
kasper/nx-rc-medium medium 10

Traffic plan: cache-bust every ~10 min per branch until 30 runs/branch or Enterprise trial expiry (2026-04-19). Data → scripts/ci-eval.db → new "Resource class sweep" section in the findings canvas with cost + duration bar charts and a measured recommendation.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

Caution

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

No manual test necessary — this PR exists only to exercise CI traffic. Verify by opening the PR's NX Cloud CIPE (GH check nx: normal) and confirming the linux-browsers-js agents are running on docker_linux_amd64/extra_large (visible in the agent metadata on cloud.nx.app). The sync script scripts/evaluate-ci.ts records credit_multiplier = 40 per CIPE in scripts/ci-eval.db.

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook publish.yml --field pr=<PR_NUMBER>

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented Apr 17, 2026

View your CI Pipeline Execution ↗ for commit f76b240

Command Status Duration Result
nx run-many -t compile,check,knip,test,lint,fmt... ⛔ Cancelled 1h 5m 32s View ↗

☁️ Nx Cloud last updated this comment at 2026-04-17 19:18:57 UTC

@kasperpeulen kasperpeulen changed the title [eval][do-not-merge] linux-browsers-js = extra_large Build: NX resource-class eval — linux-browsers-js = extra_large Apr 17, 2026
@kasperpeulen kasperpeulen added the build Internal-facing build tooling & test updates label Apr 17, 2026
@kasperpeulen kasperpeulen changed the base branch from next to kasper/nx-ai April 17, 2026 07:35
@kasperpeulen kasperpeulen marked this pull request as draft April 17, 2026 07:35
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 17, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

Removed CircleCI configuration files and trigger workflow in favor of NX Cloud evaluation tooling. Added comprehensive CI metrics scripts to sync CircleCI and NX Cloud run data into SQLite, compute analytics, and update canvas constants. Modified GitHub workflow concurrency and project tags. Updated MCP server configuration and dependencies.

Changes

Cohort / File(s) Summary
CI Configuration Removal
.circleci/config.yml, .github/workflows/trigger-circle-ci-workflow.yml
Deleted CircleCI setup orchestration including dynamic config generation job, parameterization, and trigger workflow that posted requests to CircleCI API.
Tool & Workflow Configuration
.cursor/mcp.json, .github/workflows/nx.yml, .nx/workflows/agents.yaml
Changed MCP server from wallaby to nx-mcp command; added workflow-level concurrency grouping; adjusted Linux browser agent resource class by removing trailing +.
Dependencies & Cache
package.json, nx.json, .gitignore
Bumped @nx/workspace and nx devDependencies from ^22.6.1 to ^22.6.5; updated cache-busting timestamp; added scripts/ci-eval.db to gitignore.
Function Signature Updates
scripts/ci/init-empty.ts, scripts/ci/sandboxes.ts
Extended getInitEmpty and getSandboxes to accept optional nxExperiment boolean parameter controlling Windows job and Chromatic inclusion based on experiment flag.
New CI Evaluation Scripts
scripts/evaluate-ci.ts, scripts/generate-canvas-data.ts, scripts/run-backfill-only.ts, scripts/investigate-nx-cache.ts
Added comprehensive tooling for CircleCI vs NX Cloud evaluation: incremental sync of run metrics from both CI systems into SQLite, backfill of NX auxiliary data (retry stats, task cache details), flaky-task analytics, canvas constant regeneration from database, and NX Cloud investigation utilities.
CI Evaluation Documentation
scripts/ci-eval.db.README.md
Added detailed schema documentation for SQLite cache including table definitions, index notes, environment variable requirements, example analyses, and data provenance.
Project Configuration
test-storybooks/portable-stories-kitchen-sink/react-vitest-3/project.json, test-storybooks/yarn-pnp/project.json
Removed ci:normal tag from first project; removed ci:normal and ci:merged tags from second project, leaving only ci:daily.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@kasperpeulen kasperpeulen force-pushed the kasper/nx-rc-xlarge branch 2 times, most recently from 573b771 to 8f8286c Compare April 17, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Internal-facing build tooling & test updates ci:normal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants