Realistically speaking, if a `package.json` file is changed we should consider it to be a change
for the entire package. This helps because it might impact the config itself. The same is true
of changes to `pnpm-lock.yaml` since those may update dependencies for any package. I
have also added a `-f` option to the CI Jobs CLI command to trigger all jobs.
This adds support for using the `pnpm utils ci-jobs` command in our `ci.yml` file. One of the bigger benefits to this change too is that we're now distributing a bundled version of the utils tool. This lets us run it without actually having to install the repo and will let us speed up any workflows that currently do.
* 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
* add support for custom document and category titles
* remove the s in the source file instead of the manifest
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* Fix typo
* Fix `acceleratedReleaseDate` output
* Comment unnecessary steps, jobs
* Do only a dry-run
* Revert "Do only a dry-run"
This reverts commit a41ea99401.
* Revert "Comment unnecessary steps, jobs"
This reverts commit 97985a0ad0.
* Add changelog
When using a preset we need to keep in mind that the transformation
paths are relative to the preset, not the consuming package. We get
around this by using `<rootDir>` in the transform paths. However,
doing this means fixing the root directory for all of the jest tests.
This keeps the tests working in the same way but lets us fix the
preset too.
We're adding this to _every_ package since they have their own
configuration and scripts to run. This also keeps them
isolated so that they can operate independently.
* fix: fixed all instances of translator lint rule violations
* Add changefile(s) from automation for the following project(s): @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* fix i18n lint violations in @woo/components
* fix all i18n lint rule violations in @woo/product-editor
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, @woocommerce/eslint-plugin, @woocommerce/components, woocommerce
* empty commit to trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Move the header data to the body as the header prop does not exist anymore
* Remove explicit setting of __unstableResolvedAssets given get_block_editor_settings already does this
* Remove use of woocommerce-page class in admin to avoid theme conflicts
* Add changelogs
* Revert change for quick test
* Two additional tweaks for admin related styling
* Fixed Changelog PR Number Markdown
This makes the regex for replacing the number with a
markdown link more strict. Previously it was converting
[#PRNUM] to [[#PRNUM]] and would also add a markdown link
even if one was only present. This solves those two issues.
* Deepen Code Freeze Changelog Checkout
By default our remote branch checkout performs a shallow checkout. This
results in the Jetpack Changelogger appending the wrong PR number
when we generate the changelog for the `readme.txt` file. Here we are
deepening the checkout to resolve the problem.
* Add a file upload command to the slack CLI.
* Clean up, add file command to program.
* Rename the command to 'file'
* Better error handling, don't ask for file info.
* Move API instance generation into functions to ensure they don't run on import.
* Dont use extraneous variables, call singleton fns directly.
* Get rid of accidental change