Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring Task Infrastructure #41202

Merged
merged 73 commits into from
Dec 6, 2023
Merged

Conversation

ObliviousHarmony
Copy link
Contributor

@ObliviousHarmony ObliviousHarmony commented Nov 2, 2023

Submission Review Guidelines:

Changes proposed in this Pull Request:

This pull request makes a number of changes to our task orchestration infrastructure in order to introduce consistency and significantly improve cache performance. Generally speaking, from the user-perspective, there should be very little changed by this pull request.

Note: I chose to batch the changes in this PR so that it will have a minimal impact on developer experience by being merged at the same time.

Closes #40954, #40952, #40953.

How to test the changes in this Pull Request:

Using the WooCommerce Testing Instructions Guide, include your detailed testing instructions:

  1. Verify that CI is passing. All of the changes in this PR apply to CI as well.
  2. pnpm --filter='@woocommerce/plugin-woocommerce' build
  3. pnpm --filter='@woocommerce/plugin-woocommerce' lint
  4. pnpm --filter='@woocommerce/plugin-woocommerce' build
  5. Explore! Play around with different commands and see how things work out.

Changelog entry

  • Automatically create a changelog entry from the details below.

Significance

  • Patch
  • Minor
  • Major

Type

  • Fix - Fixes an existing bug
  • Add - Adds functionality
  • Update - Update existing functionality
  • Dev - Development related task
  • Tweak - A minor adjustment to the codebase
  • Performance - Address performance issues
  • Enhancement - Improvement to existing functionality

Message

Comment

NPM package names _must_ either be single-word or have
a scope. The current structure is unsupported and has been
changed. The new package name is `@woocommerce/admin-library`.
NPM requires names to be single-word or have a scope. The
current name is not valid. The package has been renamed
`@woocommerce/shortcode-assets` to better match its purpose.
In order to prevent supply-chain attacks we have renamed
the package. The new name is `@woocommerce/plugin-woocommerce`.
As part of the prevention of supply chain attacks we are
renaming the package `@woocommerce/plugin-woocommerce-beta-tester`.
As part of preventing supply chain attacks, the package was
renamed `@woocommerce/plugin-woo-ai`.
As part of the prevention of supply chain attacks the package has been
renamed to `@woocommerce/plugin-woocommerce-docs`.
Since we are using `syncpack`, we have no reason to use the overrides.
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.
We can use a PNPM hook to make sure that the dependencies
are accounted for in the fingerprint. This script scans through
all of the packages with Wireit and adds the outputs for
linked dependencies.
We're going to use an automatic script to make these changes.
We will never run all tests concurrently so this is better.
There's quite a bit of work needed in this file but
I'll come back to that later when I can review it all
in more detail.
Copy link
Contributor

@rrennick rrennick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jonathansadowski I've left a few comments and created some issues that weren't directly related to this PR. I did not find any functional issues in my testing of build and testing scripts. I did not test any of the release related scripting.

@ObliviousHarmony Nice work. Other than the comments I left it would be great to have this rebased to current trunk and have CI pass before merging. IIRC, this branch is about 150 commits behind trunk.

@jonathansadowski
Copy link
Contributor

@jonathansadowski I've left a few comments and created some issues that weren't directly related to this PR. I did not find any functional issues in my testing of build and testing scripts. I did not test any of the release related scripting.

I've tested some of the release-related things... namely building release zips, as well as the tooling used for code-freeze, none of that broke, though I wouldn't expect the latter to.

I also didn't discover any functional issues, though I still have a list of things I wanted to check, and I'm not sure I will ahead of the holiday weekend, but that list is entirely related to the changes to .github/actions/setup-woocommerce-monorepo/action.yml, mostly because I recall previous changes to this action causing some unforeseen issues.

I didn't notice any functional issues with anything I've checked so far, and the things I wanted to check in the changes to setup-woocommerce-monorepo all appeared to be non-problematic at first glance (things like switching from string literals to boolean with the input parameters), so I think I'd be comfortable with this PR if like Ron said this were rebased to current trunk and CI were passing.

@ObliviousHarmony ObliviousHarmony merged commit 96a973b into trunk Dec 6, 2023
56 of 57 checks passed
@ObliviousHarmony ObliviousHarmony deleted the refactor/task-infrastructure branch December 6, 2023 17:32
@github-actions github-actions bot added this to the 8.5.0 milestone Dec 6, 2023
@github-actions github-actions bot added the needs: analysis Indicates if the PR requires a PR testing scrub session. label Dec 6, 2023
ObliviousHarmony added a commit that referenced this pull request Dec 6, 2023
ObliviousHarmony added a commit that referenced this pull request Dec 6, 2023
Revert "Refactored Task Infrastructure (#41202)"

This reverts commit 96a973b.
@nigeljamesstevenson nigeljamesstevenson added status: analysis complete Indicates if a PR has been analysed by Solaris and removed needs: analysis Indicates if the PR requires a PR testing scrub session. labels Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
focus: api tests Issues related to API tests. focus: e2e tests Issues related to e2e tests focus: performance tests The issue/PR is release to performance testing. package: dependency-extraction-webpack-plugin issues related to @woocommerce/dependency-extraction-webpack-plugin package: @woocommerce/admin-e2e-tests issues related to @woocommerce/admin-e2e-tests package: @woocommerce/api Issues related to @woocommerce/api package. package: @woocommerce/api-core-tests Issues related to @woocommerce/api-core-tests package. package: @woocommerce/components issues related to @woocommerce/components package: @woocommerce/csv-export issues related to @woocommerce/csv-export package: @woocommerce/currency issues related to @woocommerce/currency package: @woocommerce/customer-effort-score issues related to @woocommerce/customer-effort-score package: @woocommerce/data issues related to @woocommerce/data package: @woocommerce/date issues related to @woocommerce/date package: @woocommerce/e2e-core-tests Issues related to @woocommerce/e2e-core-tests package. package: @woocommerce/e2e-environment Issues related to @woocommerce/e2e-environment package. package: @woocommerce/e2e-utils Issues related to @woocommerce/e2e-utils package. package: @woocommerce/eslint-plugin issues related to @woocommerce/eslint-plugin package: @woocommerce/experimental issues related to @woocommerce/experimental package: @woocommerce/explat issues related to @woocommerce/explat package: @woocommerce/navigation issues related to @woocommerce/navigation package: @woocommerce/number issues related to @woocommerce/number package: @woocommerce/onboarding issues related to @woocommerce/onboarding package: @woocommerce/tracks issues related to @woocommerce/tracks plugin: woo-ai Issues related to the Woo AI features plugin. plugin: woocommerce beta tester Issues related to the WooCommerce Beta Tester plugin. plugin: woocommerce Issues related to the WooCommerce Core plugin. status: analysis complete Indicates if a PR has been analysed by Solaris
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate To Google Wireit
4 participants