Commit Graph

9 Commits

Author SHA1 Message Date
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
Sam Seay e91a72b8a1
WooCommerce Docs: Support Gutenberg block conversion with CommonMark, add some basic unit tests. (#39096)
* Extract docs manifest generation into a CLI tool
2023-07-12 19:29:15 +12:00
Paul Sealock 5281598bb4
Monorepo Utils: Add workflow profiler command (#38909) 2023-07-07 09:27:47 +12:00
Paul Sealock 72a6f2b503
Workflows CLI: add list command (#38816)
* hello world

* better description

* cli-table types

* row types

* just strings

* lockfile
2023-06-22 12:15:04 +12:00
Paul Sealock 0cfbf0a653
Changelog CLI: Add command to make entry from PR description (#38357) 2023-05-26 12:02:20 +12:00
Sam Seay 95ac08739b
Add monorepo util to notify slack, add improvements to calling utils and type clean up. (#38185) 2023-05-11 17:23:19 +12:00
Paul Sealock 6b158648e3
WooCommerce Utilities CLI: Add banner (#37910)
* Add figlet

* lockfile update
2023-04-28 08:40:44 +12:00
Paul Sealock 8784d7c27a
Monorepo Utils: Fix permisions (#37670) 2023-04-13 07:10:02 +12:00
Paul Sealock c4a7e9a11b
Monorepo CLI tooling: Set folder organisation (#37561) 2023-04-12 09:26:21 +12:00