Commit Graph

83 Commits

Author SHA1 Message Date
Vladimir Reznichenko e914c862a0
[dev] CI: revisit ci-workflow skip strategy. (#51876)
In this PR, we update the skip strategy for ci-workflow to use the GitHub actions feature and simply filter out the changed paths (skip docs, changes).
2024-10-03 11:11:27 +02:00
Adrian Moldovan 2276fded32
[ci-jobs] Add support for beta and RC WordPress versions (#51814) 2024-10-03 11:28:47 +03:00
Vladimir Reznichenko 27fc8f52c0
[dev] CI: fix changed files ownership identification when building CI-jobs matrix (#51848) 2024-10-02 12:02:21 +02:00
Vladimir Reznichenko d26816d41f
[dev] CI: skip linting and testing jobs when merging changelog deletion PRs into trunk (#51845) 2024-10-02 10:52:06 +02:00
louwie17 f44c0b8064
Add replace label tool for use in GitHub Monorepo (#50649)
* Add some base tools for label updates

* Add updated replace label script

* Add state option

* Rename folder

* Include build file of folder rename

* Update types and add comments

* Update build

* Remove unused option

* Add check for existing label and address case sensitivity
2024-09-03 10:27:50 -03:00
Caleb Mazalevskis b4fd419f74
Fix typos. (#50047) 2024-08-23 18:26:09 +01:00
Adrian Moldovan ba6f81c486
[ci-jobs] Adds --list and --json options to save jobs output (#50684) 2024-08-20 10:38:08 +03:00
Vladimir Reznichenko 9fef18cd0d
CI: missing jobs on changes in components package. (#49330)
This PR addresses issues in building a CI jobs matrix (resolving dependent packages and running CI jobs for them).
2024-07-11 14:36:56 +02:00
Vladimir Reznichenko 68532ce433
CI: update linting jobs to skip build step (#49193)
In this PR, we introduce changes to linting and PHPUnit jobs in order to speed them up: skip or minimize the build step.
2024-07-08 08:39:39 +02:00
Paul Sealock 0a411dd352
[Changefile] Fix Message regex (#48649)
* fix regex

* tests
2024-06-19 19:42:40 -03:00
Adrian Moldovan 8fc6970b90
[ci] Merge test jobs into a single generic job (#48175) 2024-06-06 21:50:52 +03:00
jonathansadowski f56d3e3ee0
Update PR template and auto change log with better no-entry support (#44023)
* Update PR template and auto change log

* Ignore .github md files in linting

* Rebuilt monorepo-utils to solve conflict

* Updated regex pattern to include uppercase X

* Move the changelog entry not required checkbox on top of the description.

* Return the comment even if shouldAutomateNoChangelog is false

* Updated tests

* Rebuilt monorepo-utils

---------

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-05-29 17:06:59 -03:00
Adrian Moldovan 97e7f86a15
Add the slack-test-report util (#47805)
* Add the slack-test-report util

* Error if the required GitHub context variables are not set

* Error if the required SLACK_CHANNEL env var is not set

* Use a more generic message to be able to report on jobs that are not tests, like build

* Add the alert-on-failure job in ci

* Run for pull_request to test the job

* Setup monorepo first

* Force a linting error

* Better logging

* Use inputs.trigger as report name if set

* Force an e2e test failure

* Set the commit message in the notification

* Use INPUT_TRIGGER for all notifications

* Revert test changes
2024-05-24 13:18:54 -07:00
Adrian Moldovan cf6e01d0d6
[ci-jobs] Add disableHpos test environment variable (#47619)
* Add disableHpos test env variable

* Update events for HPOS disabled tests

* Add pull_request event to test the env

* Remove the pull_request event

* Add changelog

* Make the disableHpos var a boolean

* Also set the env in ci.yml

* Remove console log statement

* Print woocommerce_custom_orders_table_enabled

* Run test setup script again to check output

* Capture env setup output and print it

* Get woocommerce_custom_orders_table_enabled value in test env script

* Get more details on HPOS setting

* Remove the DISABLE_HPOS logic from test env setup script

* Use DISABLE_HPOS instead of ENABLE_HPOS everywhere

* Turn off no-console and jest/no-standalone-expect eslint rules for api core tests

* Test API tests with HPOS disabled

* Fix eslint error

* Clean up debug statements

* Remove pull_request test trigger
2024-05-21 18:33:43 -03:00
Adrian Moldovan 5591b25367
[ci-jobs] Add the optional property for jobs (#47261) 2024-05-09 12:22:44 +03:00
Adrian Moldovan 90b190d93b
[ci-jobs] Trigger test jobs for any dependency change (#47271) 2024-05-08 09:49:25 -05:00
Adrian Moldovan de91a0881d
[ci-jobs] Add support for github event and include HPOS disabled e2e tests in ci (#46922)
* Update env setup script to disable hpos

* Use DISABLE_HPOS instead of ENABLE_HPOS

* Log HPOS state

* Configure project for core e2e with HPOS disabled

* Add event argument for ci-jobs util

* Add event option for test jobs

* Add support for github events

* Add changelog

* Configure HPOS tests to run on pull_request

* Fix utils tests for undefined commandVars

* Added some tests for the event configuration

* Revert event for HPOS e2e to push

* Use matrix name in artifact name to avoid duplication

* Test with pull_request event

* Use job-index for unique artifacts names

* Revert event for HPOS e2e to push

* Add api tests for HPOS disabled

* Use unique artifact name for api tests

* Revert event for HPOS disabled api tests to push

* Rebuild monorepo utils to fix a merge conflict

* Updated wording
2024-05-01 10:36:24 -07:00
jonathansadowski b68ba7629f
Fix issue with changelog generation selection case-sensitivity (#46936)
* Fix issue with changelog generation selection case-sensitivity

* Appease linter

* Update case insensitivity to every field
2024-04-25 16:02:53 -07:00
Adrian Moldovan 7d6d2c94dd
Include e2e, api and performance tests in ci.yml (#45190)
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
2024-03-27 17:21:49 +02:00
Paul Sealock 4061bbfc2b
Changelog Auto Add script: Fix property chaining (#44570)
Fix property chaining
2024-02-14 11:04:56 -04:00
jonathansadowski a7f9139b33
Fix post-merge CI / update ci-jobs util to make base-ref optional (#44055)
* Update ci-jobs util to make base-ref optional

* Fix linting error

* Update baseRef option to be easier to read in ci.yml
2024-01-26 13:52:55 -06:00
jonathansadowski 9b98a85380
Remove docs plugin from monorepo (#44013)
* Remove docs plugin from monorepo

* Add language to md-docs readme

* Fix lint error in blocks

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-23 16:16:07 -06:00
Ron Rennick 8a7ffac49b
add post tags support to docs manifest generator (#43575)
* Add tags to some readme files

* add post tags support

---------

Co-authored-by: Jacklyn Biggin <hi@jacklyn.dev>
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2024-01-16 12:54:37 -05: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
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 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
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 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
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
Jonathan Sadowski 4d6d57e63c Update code-freeze tool to work with accelerated 2023-11-13 15:24:21 -06:00
jonathansadowski 0d6dfb6d3d
Update the automatically generated changelog filename to include PR number (#41000) 2023-10-25 18:53:17 +02: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
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
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