woocommerce/tools
Christopher Allford 556cf46523
Added Monorepo CI Command (#43345)
* Added Config Object Types

* Added CI Config Parsing

* Added Package Loader

This is a convenience method for loading the package JSON file with support for caching the
files that have already been imported.

* Removed Unnecessary Package Values

* Specified Node Dependencies

* Added Test Environment Config Parsing

* Changed Internal Config Representation

For convenience it makes more sense to have a single
type of Job interface that we can process. This avoids
having to complicate checks when we output them.

* Added Workspace Dependency Graph

Using `pnpm list` we are able to build a graph of
all of the workspace projects and their dependencies.
This can be used to handle change cascades across
a project's dependencies.

* Added Changed File Detection

We can use `git` to figure out what files have changed
and associate them with the respective projects.
This will let us identify what jobs to run based on
the changes that have happened to a project.

* Added Test Environment Config Parsing Tests

* Added CI Config To Project Graph

In the interest of making it easier to process the jobs
we will store the CI config in the graph nodes.

* Changed Project Graph Build Output

Our usage of the graph depends a lot on how we
are choosing to use it. Instead of returning all of
the nodes we will return the root.

* Added Change-Based Job Creation

We can now marry the config, file changes, and project graph
to output jobs. This supports checking the changes
as well as cascade keys for test jobs.

* Added Job Test Env Parsing

The ideal time to parse all of the config values for the
job's test environment is when creating the job.

* Added Command Index

With everything in place we can now add the command.
In addition to that, I've fixed a few bugs that appeared
when testing out the command locally. Since
we aren't changing the CI config in this PR
we can't easily test the actual command.

* Fixed Typo
2024-01-09 15:15:08 -04:00
..
changelogger Fix/37502: Correct spelling errors. (#37887) 2023-05-08 15:55:09 +08:00
code-analyzer Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
compare-perf Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
create-extension Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
executors/changelogger Add NX commands for Jetpack Changelogger (#31166) 2021-12-15 14:14:17 +13:00
monorepo Fix Component Project Changelog Checking (#42794) 2023-12-13 15:41:11 -08:00
monorepo-merge Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
monorepo-utils Added Monorepo CI Command (#43345) 2024-01-09 15:15:08 -04:00
package-release Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
release-posts Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
storybook [Product Block Editor]: add story for Label component (#42953) 2023-12-19 13:09:30 -03:00
.gitkeep git mv a few folders 2021-10-19 10:35:45 +13:00