Commit Graph

281 Commits

Author SHA1 Message Date
Christopher Allford 95bc1189e5
Update `wireit` & Optimize Builds (#43595)
This bumps the version to 0.14.3 so that we can take advantage of some
upstream improvements. It also makes some changes to the way our
builds and watches work to minimize the number of unnecessary
Node processes involved in the execution.
2024-01-15 14:06:55 -08:00
Christopher Allford 5425a9536a
Enhance CI Change Detection (#43596)
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.
2024-01-15 13:30:31 -08:00
Christopher Allford 758df4854d
Use `ci-jobs` Utility For `ci.yml` Matrix (#43532)
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.
2024-01-12 20:32:14 -08:00
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
Ron Rennick 60b3aa8ed8
add support for custom document and category titles (#43340)
* 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>
2024-01-05 18:20:31 -05:00
rodelgc 12e65af8ca
Fix WooAF changelog typo and release date (#43254)
* 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
2024-01-03 12:56:39 -06:00
jonathansadowski 2700d80614
Fix async version bump bug (#43122) 2023-12-26 10:49:48 -08:00
Damián Suárez 3faedf24d9
[Product Block Editor]: add story for Label component (#42953)
* [Product Block Editor]: add story for Label component

* changelog

* add simple Label story

* add Product Editor pkg to Storybook app:
2023-12-19 13:09:30 -03:00
Christopher Allford bf29119032
Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
Ron Rennick 5ce113d413
add composer install to package prepare script (#42839)
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-15 11:08:29 -04:00
Riad Benguella e1b7c42256 try sending the right hashes 2023-12-14 16:06:02 +01:00
Riad Benguella 28e876e7cd Fix URL 2023-12-14 14:56:17 +01:00
Riad Benguella 743b26d498 Performance: Log the performance metrics to codevitals 2023-12-14 14:27:42 +01:00
Riad Benguella 2f10d5ca73 Perfomance: Fix the metrics job on trunk 2023-12-14 14:00:29 +01:00
Riad Benguella 7cfe6bdbbd Small optimization 2023-12-14 11:50:44 +01:00
Riad Benguella 68617e8ef1 Performance: Add a tool and a CI workflow to compare performance between PR and trunk and track metrics on trunk 2023-12-14 10:48:15 +01:00
Christopher Allford d0d49b49f5
Fix Component Project Changelog Checking (#42794) 2023-12-13 15:41:11 -08:00
Christopher Allford 4e89debd0c
Fix Jest Preset (#42707)
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.
2023-12-12 09:58:13 -08:00
Christopher Allford a4bbdffd31
Added Transfer Project Failure Detection (#42021) 2023-12-11 11:18:53 -08:00
Christopher Allford a8fd8fafa5 Applied Linting Fixes 2023-12-09 23:32:45 -08:00
Christopher Allford 96af36bf1f Locked `wireit` Version 2023-12-09 21:56:12 -08:00
Christopher Allford fa011a431b Removed Unnecessary `run` From `pnpm` 2023-12-09 14:36:22 -08:00
Christopher Allford e9484c33f4 Removed Unnecessary `run` Usage
Since `pnpm` defaults to `run` unless a built-in
command exists we don't really need to use `run`.
2023-12-09 14:31:56 -08:00
Christopher Allford 4b1ca1cec0 Removed Turbo Reference 2023-12-09 14:27:32 -08:00
Christopher Allford 3d79d5f204 Removed Turbo References 2023-12-09 14:22:04 -08:00
Christopher Allford df32d8e967 Added `wireit` Dependency
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.
2023-12-09 13:11:15 -08:00
Christopher Allford c936b5339e Removed Unnecessary `.gitignore` Files 2023-12-09 13:01:12 -08:00
Christopher Allford 5bbb9edc6d Renamed WooCommerce Plugin Package
In order to prevent supply-chain attacks we have renamed
the package. The new name is `@woocommerce/plugin-woocommerce`.
2023-12-09 12:59:24 -08:00
Christopher Allford 3a88cc739a Updated Dependencies 2023-12-09 07:12:20 -08:00
Christopher Allford eb1abbbb25
Added Project Field Migration (#41970)
This will ensure that we are also transferring the project data.
2023-12-08 15:52:27 -08:00
Ron Rennick 47f832453f fix linting 2023-12-08 13:04:21 -04:00
Ron Rennick eb763901fa add manifestignore support to generate docs manifest tool 2023-12-08 12:06:55 -04:00
Ron Rennick 488a970b82
Fix category title and add post_title to docs manifest (#41715) 2023-12-07 13:50:44 -04:00
Christopher Allford 8c6b414fe0
Revert "Refactoring Task Infrastructure" (#41928)
Revert "Refactored Task Infrastructure (#41202)"

This reverts commit 96a973b9fa.
2023-12-06 11:36:12 -08:00
Christopher Allford 96a973b9fa
Refactored Task Infrastructure (#41202)
* Fixed NPM packages with invalid names.
* Renamed plugin packages.
* Standardized package NPM scripts.
* Replaced Turborepo with Wireit.
2023-12-06 09:32:32 -08:00
Albert Juhé Lluveras 7f3b7e708c
Fix TypeScript error in 'Highlight templates changes' job (#41882)
Fix TypeScript in 'Highlight templates changes' job
2023-12-05 16:28:09 +01:00
Christopher Allford 88969742f2
Regenerate PNPM Lock File & Fix Errors (#41830) 2023-12-05 00:36:30 -08:00
Ron Rennick b2cf209891 fix linting 2023-11-30 22:05:01 -04:00
Ron Rennick cf2cd16689 fix linting for line length 2023-11-30 20:03:39 -04:00
Ron Rennick 10fdd4b993 fix optional parameter type 2023-11-30 19:19:36 -04:00
Christopher Allford c6b74ddafa
Revert "Resolve PNPM Lock File Errors" (#41828)
Revert "Resolve PNPM Lock File Errors (#41800)"

This reverts commit 2550558a13.
2023-11-30 14:55:35 -08:00
Ron Rennick b01a80f06c fix one more linting 2023-11-30 17:33:02 -04:00
Ron Rennick 35fdf3286f fix linting 2023-11-30 17:20:36 -04:00
Ron Rennick e7b1af8a06 improve category properties, s/readme/README file names 2023-11-30 16:32:52 -04:00
Ron Rennick 021f0be175 Merge branch 'trunk' into tools/manifest-post-category-title 2023-11-30 15:41:10 -04:00
Christopher Allford 2550558a13
Resolve PNPM Lock File Errors (#41800)
This makes the lock file constraints more specific to prevent the
backward incompatible types from WordPress types using the caret
constraint.
2023-11-30 09:33:34 -08:00
Ron Rennick a5f9014f9b remove stray spaces 2023-11-29 16:47:08 -04:00
Ron Rennick d73d79d2ec add category_slug, allow post_title to be null, fix linting 2023-11-29 16:45:32 -04:00
Ron Rennick 322f433455 fix category title, add post_title to docs manifest 2023-11-27 14:52:48 -04:00
RJ b61b86545a
fix: fixed all instances of translator lint rule violations (#41450)
* 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>
2023-11-16 19:15:11 +08:00
Jonathan Sadowski 4d6d57e63c Update code-freeze tool to work with accelerated 2023-11-13 15:24:21 -06:00
Leif Singer 6fc6aabf6f address markdownlint issues 2023-11-10 16:24:48 +01:00
Leif Singer 5944fdcdff replace developer.woocommerce.com with developer.woo.com 2023-11-10 16:09:27 +01:00
Leif Singer 1e1fec80aa capitalize Woo.com when used in a sentence 2023-11-10 15:49:08 +01:00
Leif Singer 808a0fc54f update references to woocommerce.com to now reference woo.com 2023-11-10 15:49:08 +01:00
Leif Singer 7394e8344f update woocommerce.com email addresses to woo.com 2023-11-06 14:06:54 +01:00
jonathansadowski 0d6dfb6d3d
Update the automatically generated changelog filename to include PR number (#41000) 2023-10-25 18:53:17 +02:00
Christopher Allford 1c30563ffc
Separate PHP and JS Unit Tests (#40639)
Since some projects might have both kinds of tests we are
going to have a `test:php` and a `test:js` script for each.
2023-10-06 15:41:47 -07:00
jonathansadowski 44a78870b3
Update the version bump command to support accelerated releases (#40608)
* Update the version bump command to support accelerated releases

* Appease Linter

* Update Accel Release check to only allow for 4-digit numbers
2023-10-04 17:42:51 -05:00
Christopher Allford b6674ef0c1
Fixed PR Changelog Generation Workflow (#40410)
This adds support for using double-quotes in the
description of the PR.
2023-09-26 14:26:12 -07:00
louwie17 9ea83d6382
Fix description styling and remove use of `woocommerce-page` in admin pages (#40218)
* 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
2023-09-15 17:06:42 -03:00
Christopher Allford deee539245
Use Correct PR Numbers In Code Freeze Changelog Command (#40096)
* 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.
2023-09-12 10:49:03 -05:00
RJ cb2cf79342
dev: refactor core profiler loader (#39735)
* dev: refactor core profiler loader

* dev: added storybook example for loader

* lint

* Apply suggestions from code review

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* addressed review feedback

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-08-22 19:58:33 +10:00
Sam Seay 3e9656187a
Add support to send files in Slack CLI tool (#39778)
* 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.
2023-08-17 13:06:37 -05:00
Sam Seay a9ac6a43cb
Fix create-extension bugs (#39703)
Update dependencies, docs, remove outdated scripts.
2023-08-16 12:12:33 +12:00
RJ 3611fafe79
dev: upgrade storybook to 6.5.17 for TypeScript 5 compatibility (#39745)
There's been a Storybook breakage with Typescript 5 detailed here: https://github.com/hipstersmoothie/react-docgen-typescript-plugin/issues/78

This fix should allow us to continue using Storybook 6 until we upgrade to Storybook 7 down the road.

Even though it relies on an alpha release of 6.5.17-alpha, the only change in the alpha is https://github.com/storybookjs/storybook/pull/21745.

It should be an acceptable risk considering that Storybook is internal dev tooling for now.
2023-08-15 14:13:42 +08:00
Sam Seay 3a6c3cde9f
Code analyzer: find multiple hooks in single patch, add tests (#39566) 2023-08-09 13:05:00 +12:00
Sam Seay e8c3808527
Upgrade TypeScript to v5.1 (#39531) 2023-08-08 16:35:31 +12:00
Paul Sealock b14653ede0
WooCommerce Docs: Delete posts when it removed from the manifest (#39395) 2023-08-04 14:00:50 +12:00
Sam Seay 4d685c361a
WooCommerce Docs: Relative Link Parsing (#39293) 2023-08-02 18:19:59 +12:00
Sam Seay 2ffdf6f968
Remove all schema checking code from Code Analyzer. (#39487) 2023-08-01 13:47:10 +12:00
Paul Sealock fb26613f03
WooCommerce Docs: Update manifest hash on content update (#39445) 2023-08-01 13:13:42 +12:00
Paul Sealock 2f872ebd4d
Monorepo Utils: Fix no merge base in changefile script (#39467)
* when checking out remote branch, ensure git history is there to find common ancestor for git diff

* remove unshallow
2023-07-28 11:10:29 +12:00
Sam Seay 26851bd3ce
WooCommerce Docs: Fix a bug where passing full file urls made ids unstable. (#39357)
Fix a bug where passing full file urls made ids unstable.
2023-07-26 16:54:45 +12:00
Paul Sealock 58dfbd2c4e
WooCommerce Docs: Handle multiple category posts (#39352) 2023-07-25 15:29:43 +12:00
Paul Sealock 62f02e36f8
Monrepo Utils code-freeze: Update version bump to modify release branches (#39243) 2023-07-25 10:03:01 +12:00
RJ 615393be39
dev: core profiler pages storybook (#39046)
* dev: core profiler pages storybook

* changed css path to pre-build zip path
2023-07-24 20:34:38 +08:00
Paul Sealock d95554126f
Changefile from PR description: Fix community PRs from branch named trunk (#39306)
* check if remote branch is trunk before checking out

* fix comment
2023-07-21 08:50:01 +12:00
Sam Seay 4a2fd63b99
Use syncpack customTypes to keep pnpm and node in sync. Update pnpm to 8.6.7 (#39245) 2023-07-18 14:27:18 +12:00
Sam Seay a511e72b4c
Add linting to CI for monorepo utils, add to CI unit tests for docs. (#39240) 2023-07-18 12:47:13 +12:00
Sam Seay 69e9acaba9
WooCommerce Docs: Improve Manifest Structure, Extend Frontmatter Support (#39214) 2023-07-17 20:46:23 +12: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 645e07ed8e
Monorepo Utils: Add explicit changelogger entry command (#39071)
add explict entry
2023-07-07 09:28:25 +12:00
Paul Sealock 5281598bb4
Monorepo Utils: Add workflow profiler command (#38909) 2023-07-07 09:27:47 +12:00
Sam Seay 957fb2b07e
Update pnpm to 8.6.5 (#38990) 2023-06-29 16:51:29 +12:00
Paul Sealock b6b093225e
Package release: Handle new package validation (#39008) 2023-06-29 13:28:19 +12:00
Sam Seay 625a3ae296
Fix the monorepo utils lint job (#38991)
* Fix lint issues in monorepo utils.
* Add monorepo utils to the lint CI.
2023-06-28 23:45:46 +12:00
Paul Sealock d53cfd4336
Monorepo Utils: Add changelog addition from actions (#38510) 2023-06-27 10:07: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
barryhughes fc95120e36 Update method_exists call. 2023-06-13 14:53:24 -07:00
barryhughes 71dd3e0d12 Update deprecated method call. 2023-06-13 14:40:31 -07:00
Christopher Allford 230bc04050
Updated `wp-env` To 8.0.0 (#38440) 2023-05-26 15:48:48 -07: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 4b2bece1c2
Use the new slack util to send slack notification in code freeze (#38290) 2023-05-23 09:15:46 +12:00
Paul Sealock 600b19c6f8
Monorepo Utils: Consolidate checking environment to use isGithubCI (#38310)
* use isGithubCI

* Add basic tests for isGithubCI and fix failing existing test.

---------

Co-authored-by: Sam Seay <samueljseay@gmail.com>
2023-05-18 10:42:09 +12:00
Sam Seay f943bebc15
Don't generate singletons for Octokit and GraphQL until they're used at runtime. (#38268)
* 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
2023-05-16 10:41:37 +12:00
Paul Sealock e860e1f21f
Code Freeze CLI: Replace PHP script with TS (#38233) 2023-05-16 10:33:53 +12:00
Paul Sealock 1188197a2f
Code Freeze CLI: Add release changelog command (#38082) 2023-05-12 10:07:41 +12:00
Paul Sealock 36d4ad1150
Code Freeze CLI: Remove old version bump tool (#38182)
* remove old tool

* remove from pnpm-workspace.yaml
2023-05-12 09:15:03 +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