Skip to content

Conversation

@ndelangen
Copy link
Member

@ndelangen ndelangen commented Nov 3, 2025

What I did

Related: #19476
Tracking: #32936

I'm overhauling the CI config.

In this PR I introduce the scripts/ci folder, in which a CircleCI config is dynamically generated.

This dynamic generation allows us to check the repo/PR/branch state and read dynamic config files (such as sandboxes-templates.ts) to determine what the optimum CI workflow would look like.

Here's is an overview:
Screenshot 2025-12-29 at 13 50 56

Screenshot 2025-12-29 at 13 51 47

The hope is that in the future, we'll be able to do change detection, and instead of adding ci:*-labels to PRs, we automatically only run affected sanboxes.

Testing

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

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

Manual testing

We should run this PR with each ci:*-label at least once, checking if every runs as expected.

@nx-cloud
Copy link

nx-cloud bot commented Nov 3, 2025

View your CI Pipeline Execution ↗ for commit 6e6f348

Command Status Duration Result
nx run-many -t compile,check,knip,test,pretty-d... ✅ Succeeded 10m View ↗

☁️ Nx Cloud last updated this comment at 2025-12-29 15:06:19 UTC

@ndelangen ndelangen self-assigned this Nov 3, 2025
@ndelangen ndelangen added the ci:docs Run the CI jobs for documentation checks only. label Nov 3, 2025
@ndelangen ndelangen mentioned this pull request Nov 3, 2025
52 tasks
@ndelangen ndelangen linked an issue Nov 3, 2025 that may be closed by this pull request
52 tasks
@ndelangen ndelangen added the build Internal-facing build tooling & test updates label Nov 4, 2025
@github-actions github-actions bot added the Stale label Nov 15, 2025
@valentinpalkovic valentinpalkovic marked this pull request as draft November 17, 2025 14:31
…config generation, streamlining the CI setup process.
… and running E2E tests, improving CI workflow and job execution.
…improving test execution consistency and clarity.
…nsistent root path specification for workspace persistence.
…ancing CI workflow and sandbox creation process.
…andbox creation, optimizing resource allocation and improving CI job execution.
…or network commands, ensuring consistent address resolution and improving reliability of CI jobs.
…box creation command, streamlining the CI job execution process.
…eation command, enhancing the CI job execution process.
…in sandbox creation command across all relevant scripts, improving CI job execution.
…never' flags in sandbox and E2E test commands, improving command consistency.
…rc.yml' files instead of using touch commands, improving file handling and command execution.
…e writing 'yarn.lock' and '.yarnrc.yml' files, improving file management and ensuring proper execution.
…he background and update wait commands for improved server readiness checks, enhancing CI job execution.
…ation, enhancing debugging capabilities and improving CI job monitoring.
…or isOutdated, isPrerelease, selectedConfig, selectedDirectory, and outputDirectoryName to enhance traceability during execution.
…neration it's another layer of abstraction, and blocks finding usages, the preferred method of creating re-usable chucks on config is using helpers.ts
…nable JUnit reporting for various test commands
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.

[Tracking]: Overhaul CI setup

2 participants