* Add back parent machine to the designWithoutAi child machine option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid duplicating the `/onboarding/themes/recommended` request
* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function
* Add changefile(s) from automation for the following project(s): woocommerce
* WIP
* WIP
* WIP
* WIP
* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places
Refactor, add comments and cleanup
* Remove unnecessary log
* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Add comment and ref to the new issue
* CYS - Core: fix flow when Font Library is not installed
* Add changefile(s) from automation for the following project(s): woocommerce
* improve naming
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Avoid duplicating the `/onboarding/themes/recommended` request
* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function
* Add changefile(s) from automation for the following project(s): woocommerce
* WIP
* WIP
* WIP
* WIP
* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places
Refactor, add comments and cleanup
* Remove unnecessary log
* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Add comment and ref to the new issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* avoid crash when Gutenberg is not installed
* add issue link
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: add integration with the font library
* install font only when necessary
* refactor logic
* add try catch
* renaming font
* refactor some code
* refactor some logic
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not used import
* avoid mutability
* improve performance
* update name variable
* fix naming
* fix endpoints after font collection rest controller improvements
* use promise.all into the map
* improve performance
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure that the Font Library is available
* Add changefile(s) from automation for the following project(s): woocommerce
* fix iframe issue
* improve comment
* don't return any object
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Fix the bug hiding connection hiding
Actually, this bug causes all modal state to be lost. But since we
check the connection only when the page loads, on a subsequent tries, we can 't show the connection warning.
* Marketplace: update documentation and typos
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update the CYS intro modal copy on Core
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create a dedicated survey and tracking events for the CYS flow on core
* Update booleans to show button and survey
* Remove console log
* Add changefile(s) from automation for the following project(s): woocommerce
* Style required question asterisk and make the questions required
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fetch the ai status on the transitional page of the CYS flow
* Only check AI status on WooExpress
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Add "Add to Store" button for free and WordPress.org products (#43616)
* Marketplace: Install free .org plugins with Add to Store button
* Marketplace: addressed feedback for the the new install free products flow
- Moved notices to the top of the modal
- Updated notice styles slightly
- Updated the CreateOrderSuccessResponse to reflect API changes
* Marketplace: Require the Helper orders API file
* Marketplace: fix linter errors
* Marketplace: form encode when submitting the request
The body is encoded anyways by the WordPress core. However, if I don't
do it here, I can't create a valid signature to be verified by
Woo.com.
I could have just submitted a JSON too, but this seamed easier since
the body is parsed on Woo.com automatically when it's in this form.
* Add changefile(s) from automation for the following project(s): woocommerce
* Marketplace: remove "~" character in imports and use relative paths
* Marketplace: fix margins in the product with the Add to Store button
* Marketplace: Add conditions to hide the button
We hide it if:
- the product is already installed
- user doesn't have the right capability
- if the product is just installed using our flow and there is
no page refresh
* Marketplace: don't show Add to Store button on Themes and on Discover
* Marketplace: fix linting
* Marketplace: hide ratings from the product if "is-small" class exists
* Marketplace: fix linting errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redirect to intro screen if theme is not modified
* Add changefile(s) from automation for the following project(s): woocommerce
* Add and fix test for the redirection
* Redirect with the proper url 'intro'
* Remove only
* Avoid completing the cys task when switching themes
* Revert prev commit and reset `woocommerce_admin_customize_store_completed` before each test
* Set the `woocommerce_admin_customize_store_completed` to `no` before each test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix activity panel showing incorrect currency
* Add changefile(s) from automation for the following project(s): woocommerce
* Use store currency setting when order currency is different from the store currency
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add sales property to MarketingCampaign class.
* Return campaign sales data in API.
* Display Sales in Campaigns card.
* Fix test for useCampaigns.
* Display a "-" when there are no cost or sales value in Campaigns card.
* Add changelog.
* Fix test for useCampaigns hook.
* Fix PHP lint issue.
* CYS - Core: add unit test
* Add changefile(s) from automation for the following project(s): woocommerce
* fix description
* Enable TT4 when the customize your store process starts
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: add unit test
* Add changefile(s) from automation for the following project(s): woocommerce
* fix description
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update copy for CYS intro screen sidebar
* Add changefile(s) from automation for the following project(s): woocommerce
* Avoid using variables in __()
* Add missing period
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
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.
* Add "No AI" banner image and center banner content
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
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.
* Do not sanitize WooCommerce Subscriptiion column HTML in Settings > Payments methods table
* Add features supports entry to pseudo-gateway WCPay Promotion
* Add changelog
* Add changelog entry for woocommerce-admin
* Lint fixes
* CYS: fix php warning raise by the Product Collection block
* fix typo
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: Setup the site with a default homepage when the assembler is loaded
* CYS - Core: Implement route guards
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Return the correct empty images response
* Use the correct structure in the images endpoint response
* Add changefile(s) from automation for the following project(s): woocommerce
* Throw error when no images and the store is already ai generated
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show default patterns and products if the images request fails
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove space
* Simplify condition
* Removed unused call
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add rating and change product card layout
* Fix some minor CSS bugs in existing code
* Implement skeleton loader
* Update theme card styling to match design
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent Command Palette scripts to enqueue unnecessary scripts in the editor
* Add changefile(s) from automation for the following project(s): woocommerce
* Properly set script asset dependencies
* Create util function to simplify the code
* Fix JS warning when registering WooCommerce Commands
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update the neutral color palette to black and white.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: CYS - change heading color
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Use clientHeight to set the correct marginTop -- height is not a valid property
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show the ai offline modal independently from the onboarding tour
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove log
* Fix tests
* Add customizing parameter to avoid showing the aioffline modal when customizing
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add utm_category to discover page
* Fix product category URL params
* Add changefile(s) from automation for the following project(s): woocommerce
* Update productCategory to productGroup in Discover and NoResults components
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* CYS - select the right font with AI offline
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - reset products and pattern when the site doesn't have AI generated content
* Add changefile(s) from automation for the following project(s): woocommerce
* fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Installer url API
* Redirect if installer not available
* Remove paid product autoinstall support
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove duplicated text
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tracking when opening or searching in the Command Palette
* Add changefile(s) from automation for the following project(s): woocommerce
* Add 'origin' property to all Command Palette events
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: refresh subscriptions in if "install" parameter exists
* Marketplace: handle loadSubscriptions or refreshSubscriptions failing
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove use of deprecated conditional block
* Remove use of deprecated context usage
* Remove use of deprecated positoin on Dropdown in favour of popoverProps
* Add changelogs
* Remove unused import
* Fix lint errors
* Remove popoverProps.position with popoverProps.placement
* Update missed items replacing position to placement
* Fix lint error
* Fix placement position
* Update changelogs
* fix: CYS - update copy
* not format style file
* Add changefile(s) from automation for the following project(s): woocommerce
* add changelog
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Similarly to `build:project`, a new `watch:build:project`
script will watch individual projects for changes. The
`watch:build` script has been updated so that it does
a deep watch in the same vein as `build`. We have also
hooked up tool-level watching for faster performance.
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.
Having an explicit `"files"` definition will allow us to fingerprint
dependencies in `wireit` more granularly. This avoids problems
that can be caused by different source files and directories that
trigger a rebuild in a dependee before a dependent finishes.
Wireit doesn't allow us to have build outputs in a directory outside
of the package. We can get around this by having a build step in
WooCommerce that copies the files from the output directories.
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.
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`.
* fix: useEditorBlocks hook always returns an array
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Reset products when the AI is offline
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: CSY - update font copy when ai is offline
* Add changefile(s) from automation for the following project(s): woocommerce
* update font
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tests for the `useCampaigns` hook in the woocommerce-admin marketing.
* Add `channels` to the deps of `useSelect` in the `useCampaigns` hook to avoid outdated hook states.
* Make the `useCampaigns` hook support being used with multiple instances.
- Include the `perPage` in the page key of campaigns in the multichannel's data store.
- Move the processing of querying the campaigns paging to the selector of the multichannel's data store.
- Move `total` in each campaign's paging of the multichannel's data store.
- Remove unused properties and their types: `state.campaigns.perPage` and `state.campaigns.total`
* Add changelog
* Multichannel data store - Move the `total` from `campaigns.pages[*]` to `campaigns.meta` to have only one total value.
Related to:
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409634640
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409590559
* Multichannel data store - Return the pagination meta of campaigns along with the `getCampaigns` selector.
Address: https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1412266127
* Switch assemble theme to TT4
* Add changefile(s) from automation for the following project(s): woocommerce
* Rename changelog file
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show warning modal when user tries to leave the assember hub
* Remove pushState and popstate changes from the iframe
* Listen to popstate and render a warning modal when the user tries to leave the page
* Add changefile(s) from automation for the following project(s): woocommerce
* Update GoBackWarningModal to accept a callback for reusability
* Reuse GoBackWarningModal
---------
Co-authored-by: github-actions <github-actions@github.com>
* add simple initial integration with Command Palette
* Add WooCommerce commands
* Add e2e tests
* Fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Avoid using page.waitForLoadState() in Command Palette tests
* Make Settings and Analytics commands dynamic
* Decode entities to make sure characters are displayed correctly in the command palette
* Move decodeEntities() into registerCommandWithTracking()
---------
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: github-actions <github-actions@github.com>
* Fix link to e2e tests documentation from WooCommerce Admin directory
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: add Tracks events for the subscription page
Added events for:
- marketplace_product_installed
- marketplace_product_install_failed
- marketplace_renew_button_clicked
- marketplace_subscribe_button_clicked
- marketplace_product_updated
- marketplace_product_update_failed
* Marketplace: update Tracks properties
We used to reference product slug only. But may change and if the store
is rate limited, that information is missing. This commit switches
using "product_zip_slug" and "product_id".
* Marketplace: add product version info to update and install Tracks events
* Marketplace readme
* Add structure and development
* Linter fix
* linter
* Tweaks to the In-App Marketplace README.
---------
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Don't show a My Subscriptions group if it's empty
* Hide expiry if installed but has no subscription
* Show subscription status labels in a column
* Add changefile(s) from automation for the following project(s): woocommerce
* Show only one badge
* Show installed header if no installed items
* Remove test code
* Show entire installed section
---------
Co-authored-by: github-actions <github-actions@github.com>
* Not connected screen fixes
* Table improvements
* Success notice icon
* Use the same layout of columns for both tables
* Popover
* Add changefile(s) from automation for the following project(s): woocommerce
* CSS lint fixes
* Styling tweaks. Changed font-weight of `.woocommerce-marketplace__product-list-title` to 400, to correspond with the correct weight of the titles like "Installed on this store" in the My Subscriptions section.
* Undo refresh move
* Fix subgrid max widths
* Fic status height
* Update collaborate link
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add discover products to page view event
* Initial implementation of beacon REST API (WIP)
* Discover page - products viewed
* Product card clicked event (WIP)
This takes data from various sources and sends it based on the different places that product cards could appear.
Data included:
- position
- vendor
- product type
- label - indicates if "promoted" if applicable
- group - the discover page group if applicable
- search_term - the search term if applicable
- category - the product category clicked from
The data is essentially complete. The beacon API needs finalising still though. Also, the vendor name click event will need to be updated with the same data.
* See more button & Category dropdown "more" events
* Marketplace: remove custom Beacon and use "queueRecordEvent"
* Marketplace: reenable product card links
This was disabled temporarily while we tested tracks on click
* Marketplace: Add position to tracks event
Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com>
* Marketplace: move Tracks data to a different prop and type
* Marketplace: refactor Tracks calls in product card
---------
Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
* Update copy
* Remove uppercase from labels
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add digital product task selection to the A/B test for WC 8.4.
* Add changelog
* Enable the product-virtual-downloadable feature.
* Fix linting error
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* 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>
* Fix snackbar icon position
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove absolute positioning
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add AI disclaimer
* Add changefile(s) from automation for the following project(s): woocommerce
* Move .ai-disclaime to inside the .woocommerce-customize-store-banner-content p rule
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Hide install if not installable
* Refactor local data generation
* Add subscription installed flag
* Add connect support to not in use items
* Remove debug code
* Add changefile(s) from automation for the following project(s): woocommerce
* Linter fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Remove duplicate changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Separate count query
* Fix total_results var
* Add count-low-in-stock endpoint
* Use new count-low-in-stock endpoint
* Fix inconsistent in function names
* Type cast to int
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix spelling
* Separate count query function
* Add changefile(s) from automation for the following project(s): woocommerce
* Use get_count_query
* Use count-low-in-stock endpoint
* Remove condition where it only updates product count when there is less than 2 items -- no longer needed as we are using a new endpoint to count the products
* Fix spelling
* Add changefile(s) from automation for the following project(s): woocommerce
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: table design updates
* Marketplace: address PR feedback
- Added enum for status levels
- Fixed color for the table rows
- Used ADMIN_URL for referencing plugins page
-
* Marketplace: Update WooCommerce.com references to Woo.com
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Marketplace: fix how status badges look on narrower screens
---------
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add 2 additional steps between the loader steps
* Support onChange callback
* Add loader progress transition
* Add smooth transition story
* Set the initial percentage to 5 to make the transition smoother
* Add changefile(s) from automation for the following project(s): @woocommerce/onboarding, woocommerce
* Add smooth-transition class to the progressbar
* Fix lint
* Update AssembleHubLoader
* Fix e2e
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Rename Centered Header Menu with Search pattern
Since the search bar has been removed from this pattern, this PR renames
the pattern title and slug to reflect that change.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Copy WelcomeGuide from gutenberg
* Remove CSS copied from guide component since it's not influencing the product Welcome Guide and it's interfering with the block editor welcome guide
* Fix issue with box-sizing
* Fix lint issues
* Show guide only when modal is open
* Add changelog
* Remove template and fix issue with component not re-rendering
* Add comment
* Add additional changelog
* Rename component
Apparently Link with type wp-admin is the same as normal anchor link anyway, there is no special code handling for wp-admin. So we might as well just use the normal link, and remove the dependency on Link.
* Hide theme and default palette
* Add changefile(s) from automation for the following project(s): woocommerce
* Lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Reduce the logo preview to a maximum width of 60px
* Add changelog
* Set max height and width to 250px
60px was too small!
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Use the Hero Product Split pattern as the initial one for all templates.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Try getting a site preview in the banner working.
* Change to use iframe instead
* Changelog
* Fix lint issues
---------
Co-authored-by: Chris Runnells <chris.runnells@automattic.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Set default logo width when updating the template
* Set current logo width to the inserting patterns
* Add changelog
* Fix tests
* Apply logo width in use-patterns
* Disable header and footer on cys pages
* Support showNotices and showStoreAlerts to control Notices and StoreAlerts from the layout
* Disable Notices and StoreAlerts from CYS
* Support showPluginArea -- setting this value to false disables plugins
* Disable plugin area in cys
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>