Skip to content

Commit 82d5b7f

Browse files
committed
Merge release/9.8.0 into trunk
2 parents 6f3b87c + b307e16 commit 82d5b7f

File tree

622 files changed

+9378
-9346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

622 files changed

+9378
-9346
lines changed

.eslintrc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,6 @@
102102
{
103103
"selector": "ImportDeclaration[source.value=/gridicons(?!\\u002F)/]",
104104
"message": "Do not import whole Gridicons, import them individually with 'gridicons/dist/icon-name'."
105-
},
106-
{
107-
"selector": "ImportDeclaration[source.value='@wordpress/components']",
108-
"message": "Do not import from '@wordpress/components' directly. Use components from 'wcpay/components/wp-components-wrapped' instead."
109105
}
110106
]
111107
},
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Build live branch when develop updated
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- develop
7+
paths-ignore:
8+
- '.cursor/**'
9+
- '.github/**'
10+
- '!.github/workflows/build-live-branch.yml'
11+
- '.husky/**'
12+
- '.bin/**'
13+
- 'docker/**'
14+
- 'docs/**'
15+
- 'tasks/**'
16+
- 'tests/**'
17+
- '**/tests/**'
18+
- 'wordpress-org-assets/**'
19+
- '**/changelog/**'
20+
- '**/changelog.txt'
21+
- '**/readme.txt'
22+
- '.gitignore'
23+
- 'CODEOWNERS'
24+
- '**/*.md'
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: true
29+
30+
permissions: {}
31+
32+
jobs:
33+
build:
34+
if: github.repository_owner == 'automattic' && github.actor != 'github-actions[bot]'
35+
runs-on: ubuntu-latest
36+
permissions:
37+
contents: read
38+
steps:
39+
- name: "Checkout repository"
40+
uses: actions/checkout@v4
41+
42+
- name: "Set up repository"
43+
uses: ./.github/actions/setup-repo
44+
45+
- name: "Get current version"
46+
id: current-version
47+
run: |
48+
VERSION=$(jq '.version' package.json -r)
49+
echo "Current version found: $VERSION" >> $GITHUB_STEP_SUMMARY
50+
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
51+
52+
- name: "Get dev version"
53+
id: get-dev-version
54+
env:
55+
CURRENT_VERSION: ${{ steps.current-version.outputs.VERSION }}
56+
run: |
57+
DEV_SUFFIX_VERSION="${GITHUB_RUN_ID}-g$(git rev-parse --short HEAD)"
58+
DEV_VERSION="${CURRENT_VERSION}-${DEV_SUFFIX_VERSION}"
59+
echo "Dev Version: $DEV_VERSION" >> $GITHUB_STEP_SUMMARY
60+
echo "DEV_VERSION=$DEV_VERSION" >> $GITHUB_OUTPUT
61+
62+
- name: "Bump dev version"
63+
id: bump-dev-version
64+
env:
65+
DEV_VERSION: ${{ steps.get-dev-version.outputs.DEV_VERSION }}
66+
run: |
67+
# 'Version' header in woocommerce-payments.php
68+
sed -i "s/^ \* Version: .*$/ * Version: $DEV_VERSION/" woocommerce-payments.php
69+
70+
# 'version' field in package.json
71+
sed -ri 's/("version": )".*"/\1"'${DEV_VERSION}'"/' package.json
72+
73+
# 'Stable tag' header in readme.txt;
74+
sed -i "s/^Stable tag: .*$/Stable tag: $DEV_VERSION/" readme.txt
75+
76+
- name: "Build the plugin"
77+
id: build_plugin
78+
uses: ./.github/actions/build
79+
80+
- name: "Update the structure of artifacts for Jetpack Beta Builder"
81+
run: |
82+
cd release
83+
mv woocommerce-payments woocommerce-payments-dev
84+
zip -q -r "woocommerce-payments-dev.zip" "woocommerce-payments-dev/"
85+
rm -fR "woocommerce-payments-dev"
86+
87+
- name: "Get plugin data for Jetpack Beta Builder"
88+
id: get-plugin-data
89+
env:
90+
DEV_VERSION: ${{ steps.get-dev-version.outputs.DEV_VERSION }}
91+
run: |
92+
# Plugin data is passed as a JSON object.
93+
PLUGIN_DATA="{}"
94+
PLUGIN_DATA=$( jq -c --arg slug "woocommerce-payments" --arg ver "$DEV_VERSION" '.[ $slug ] = { version: $ver }' <<<"$PLUGIN_DATA" )
95+
echo "plugin-data=$PLUGIN_DATA" >> $GITHUB_OUTPUT
96+
97+
- name: "Upload the zip file as an artifact"
98+
uses: actions/upload-artifact@v4
99+
if: steps.get-plugin-data.outputs.plugin-data != '{}'
100+
env:
101+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102+
with:
103+
name: plugins
104+
path: release
105+
# Only need to retain for a day since the beta builder slurps it up to distribute.
106+
retention-days: 1
107+
108+
- name: "Inform Jetpack Beta Builder webhook"
109+
if: steps.get-plugin-data.outputs.plugin-data != '{}'
110+
env:
111+
SECRET: ${{ secrets.WCPAYBETA_SECRET }}
112+
PLUGIN_DATA: ${{ steps.get-plugin-data.outputs.plugin-data }}
113+
run: |
114+
curl -v --fail -L \
115+
--url "https://betadownload.jetpack.me/gh-action.php?run_id=$GITHUB_RUN_ID&commit=$GITHUB_SHA" \
116+
--form-string "repo=$GITHUB_REPOSITORY" \
117+
--form-string "branch=${GITHUB_REF#refs/heads/}" \
118+
--form-string "plugins=$PLUGIN_DATA" \
119+
--form-string "secret=$SECRET"

.github/workflows/e2e-pull-request.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,15 @@ jobs:
4747
strategy:
4848
fail-fast: false
4949
matrix:
50+
wc_version: [ 'latest' ]
5051
test_groups: [ 'wcpay', 'subscriptions' ] # [TODO] Unskip blocks tests after investigating constant failures.
5152
test_branches: [ 'merchant', 'shopper' ]
5253

53-
name: WC - latest | ${{ matrix.test_groups }} - ${{ matrix.test_branches }}
54+
name: WC - ${{ matrix.wc_version }} | ${{ matrix.test_groups }} - ${{ matrix.test_branches }}
5455

5556
env:
5657
E2E_WP_VERSION: 'latest'
57-
E2E_WC_VERSION: 'latest'
58+
E2E_WC_VERSION: ${{ matrix.wc_version }}
5859
E2E_GROUP: ${{ matrix.test_groups }}
5960
E2E_BRANCH: ${{ matrix.test_branches }}
6061

.github/workflows/e2e-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: "Generate matrix"
3838
id: generate_matrix
3939
run: |
40-
WC_VERSIONS=$( echo "[\"7.7.0\", \"latest\", \"beta\"]" )
40+
WC_VERSIONS=$( echo "[\"7.7.0\", \"latest\", \"beta\", \"rc\"]" )
4141
echo "matrix={\"woocommerce\":$WC_VERSIONS,\"test_groups\":[\"wcpay\", \"subscriptions\"],\"test_branches\":[\"merchant\", \"shopper\"]}" >> $GITHUB_OUTPUT
4242
4343
# Run WCPay & subscriptions tests against specific WC versions

.github/workflows/release-code-freeze.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: "Release - Code freeze"
22

33
# This action will run according to the cron schedule or when triggered manually
44
on:
5-
schedule:
6-
- cron: '0 12 * * 0' # Run at 1200 UTC on Sundays.
5+
# schedule:
6+
# - cron: '0 18 * * 3' # Run at 1800 UTC on Wednesdays.
77
workflow_dispatch:
88
inputs:
99
skipSlackPing:
@@ -57,16 +57,16 @@ jobs:
5757
env:
5858
NEXT_VERSION: ${{ steps.next-version.outputs.NEXT_RELEASE_VERSION }}
5959
run: |
60-
git fetch --tags origin
61-
NEXT_VERSION_TAG_STABLE=$(git tag -l "${{ env.NEXT_VERSION }}" | tail -1)
62-
NEXT_VERSION_TAG_FROM_WEEK_2=$(git tag -l "${{ env.NEXT_VERSION }}-test-2" | tail -1)
63-
if [[ -z "$NEXT_VERSION_TAG_FROM_WEEK_2" ]]; then
64-
echo "Code freeze is not needed :x:" >> $GITHUB_STEP_SUMMARY
65-
echo "FREEZE=0" >> $GITHUB_OUTPUT
66-
elif [[ -z "$NEXT_VERSION_TAG_STABLE" ]]; then
67-
echo "Code freeze is needed :white_check_mark:" >> $GITHUB_STEP_SUMMARY
68-
echo "FREEZE=1" >> $GITHUB_OUTPUT
69-
fi
60+
# git fetch --tags origin
61+
# NEXT_VERSION_TAG_STABLE=$(git tag -l "${{ env.NEXT_VERSION }}" | tail -1)
62+
# NEXT_VERSION_TAG_FROM_WEEK_2=$(git tag -l "${{ env.NEXT_VERSION }}-test-2" | tail -1)
63+
# if [[ -z "$NEXT_VERSION_TAG_FROM_WEEK_2" ]]; then
64+
# echo "Code freeze is not needed :x:" >> $GITHUB_STEP_SUMMARY
65+
# echo "FREEZE=0" >> $GITHUB_OUTPUT
66+
# elif [[ -z "$NEXT_VERSION_TAG_STABLE" ]]; then
67+
# fi
68+
echo "Code freeze is needed :white_check_mark:" >> $GITHUB_STEP_SUMMARY
69+
echo "FREEZE=1" >> $GITHUB_OUTPUT
7070
7171
create-release-pr:
7272
name: "Raise a PR to trunk"

assets/css/admin.rtl.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,14 @@
131131
background-image: url( '../images/payment-methods/afterpay-icon.svg' );
132132
}
133133

134+
.payment-method__brand--afterpay_clearpay.account-country--gb {
135+
background-image: url( '../images/payment-methods/clearpay.svg' );
136+
}
137+
138+
.payment-method__brand--afterpay_clearpay.account-country--us {
139+
background-image: url( '../images/payment-methods/afterpay-cashapp-icon.svg' );
140+
}
141+
134142
.payment-method__brand--affirm {
135143
background-image: url( '../images/payment-methods/affirm-icon.svg' );
136144
}

bin/install-wp-tests.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,9 @@ install_woocommerce() {
191191
WC_INSTALL_EXTRA=''
192192
INSTALLED_WC_VERSION=$(wp plugin get woocommerce --field=version)
193193

194-
if [[ $WC_VERSION == 'beta' ]]; then
194+
if [[ $WC_VERSION == 'beta' ]] || [[ $WC_VERSION == 'rc' ]]; then
195195
# Get the latest non-trunk version number from the .org repo. This will usually be the latest release, beta, or rc.
196-
WC_VERSION=$(curl https://api.wordpress.org/plugins/info/1.0/woocommerce.json | jq -r '.versions | with_entries(select(.key|match("beta";"i"))) | keys[-1]' --sort-keys)
196+
WC_VERSION=$(curl https://api.wordpress.org/plugins/info/1.0/woocommerce.json | jq -r '.versions | with_entries(select(.key|match("'$WC_VERSION'";"i"))) | keys | sort_by( . | split("-")[0] | split(".") | map(tonumber) ) | last' --sort-keys)
197197
fi
198198

199199
if [[ -n $INSTALLED_WC_VERSION ]] && [[ $WC_VERSION == 'latest' ]]; then

changelog.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
*** WooPayments Changelog ***
22

3+
= 9.8.0 - 2025-08-13 =
4+
* Add - Add address autocomplete to Checkout
5+
* Add - Add support for small screens on the evidence submission form.
6+
* Fix - Fix customer details section when name and/or email are very big.
7+
* Fix - Fix Google/Apple Pay "State / County is required" error during checkout for Croatia
8+
* Fix - Fix the icon border of the Steps component for a dispute.
9+
* Fix - Reset the enabled payment methods to default value on account reset.
10+
* Fix - Suppress sending completed-renewal-order email after dispute resolution
11+
* Update - As of this change, we stop bundling WordPress Components in favor of using the wp.components available in the WordPress installation.
12+
* Update - Make onboading pages use the pw.components available in the WordPress installation.
13+
* Update - Make the connect acctount components use the wp.components from the installation.
14+
* Update - Make the KYC onboarding use the WP components available in the installation.
15+
* Update - update: ensure Google Pay/Apple Pay can check out w/ LT addresses
16+
* Update - update: fraud protection rules to use WP components bundled within the WP installation
17+
* Update - Update documents page to use WP components available in the WordPress installation.
18+
* Update - Update loan page to use the installation WordPress components.
19+
* Update - Update the "Learn more about disputes" link in the confirmation screen of the disputes documentation.
20+
* Dev - Fix: enhances the robustness of the selectPaymentMethod method in end-to-end tests
21+
* Dev - Fix: Respond to a dispute e2e tests
22+
* Dev - Fix: select payment method shopper util
23+
* Dev - Removed all the Progressive Onboarding (PO) code.
24+
* Dev - update: use React 18
25+
* Dev - Update tested WooCommerce version to 10.1.0
26+
327
= 9.7.0 - 2025-07-24 =
428
* Add - Add a confirmation screen to the new flow for submitting dispute evidence.
529
* Add - Add Credit not processed logic for the new evidence submission form.

client/capital/test/index.test.tsx renamed to client/capital/__tests__/index.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { render, screen } from '@testing-library/react';
77
* Internal dependencies
88
*/
99
import { useActiveLoanSummary, useLoans } from 'wcpay/data';
10-
import CapitalPage from '../index';
10+
import CapitalPage from '..';
1111

1212
// Mock the useLoans hook
1313
jest.mock( 'wcpay/data', () => ( {

0 commit comments

Comments
 (0)