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

Generate bundles concurrently in CI #6581

Draft
wants to merge 33 commits into
base: trunk
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
62db248
Add concurrently dev package
Jan 26, 2024
3c09801
Generate bundles using concurrently
Jan 26, 2024
2ed4617
Update Gutenberg ref
Jan 26, 2024
319cf7a
Remove unused pre/post bundle commands
Jan 26, 2024
8d82f82
Fix typos
Jan 26, 2024
7f517d2
Use separate npm commands to avoid post install scripts
Jan 26, 2024
9e9aee3
Restore npm ci commands
Jan 26, 2024
ffb3b0b
Trigger bundle generation right away
Jan 26, 2024
5a49e1c
Download Android bundle for E2E testing and avoid generating it again
Jan 26, 2024
7559dfe
Reduce NPM commands time
Jan 26, 2024
cc16ba9
Download JS bundles for the iOS E2E build
Jan 26, 2024
7e08335
Update Gutenberg ref
Jan 26, 2024
fe3e9ca
Try ignore scripts
Jan 26, 2024
02bf092
Copy assets for Android build
Jan 26, 2024
f83e309
Try ignore scripts for testing jobs
Jan 26, 2024
89b8bb4
Try concurrent in post install
Jan 26, 2024
46382f4
Remove concurrently
Jan 26, 2024
6d47b6c
Merge branch 'trunk' into feat/generate-bundles-concurrently-in-ci
Jan 26, 2024
58471cc
Update Gutenberg ref
Jan 26, 2024
ece89a4
Update Gutenberg ref
Jan 26, 2024
d501c60
Try running iOS tests in Buildkite
Jan 26, 2024
ec666bc
Add Appium path
Jan 26, 2024
7925d10
Extract test commands
Jan 28, 2024
b9d4ae6
Reorganize test commands
Jan 28, 2024
e2581fc
Update Gutenberg ref
Jan 28, 2024
b36daa8
Start appium server
Jan 28, 2024
b2b39f9
Revert adding appium command
Jan 28, 2024
2c3dea0
Temp: Disable test
Jan 29, 2024
7b57ec0
Update Gutenberg ref
Jan 29, 2024
c0277e8
Update tests and snapshots
Jan 29, 2024
1717af4
Update Gutenberg ref
Jan 29, 2024
d0fae93
Update keyboard condition
Jan 29, 2024
21a780a
Add artifacts path
Jan 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions .buildkite/commands/build-android.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
#!/bin/bash -eu

echo "--- :npm: Set up Node dependencies"
npm ci --unsafe-perm --prefer-offline --no-audit --no-progress
npm ci --prefer-offline --no-audit --ignore-scripts
npm ci --prefix gutenberg --prefer-offline --no-audit --ignore-scripts

echo '--- :android: Set env var for Android E2E testing'
set -x
export TEST_RN_PLATFORM=android
export TEST_ENV=sauce
set +x

echo '--- :react: Build Android bundle for E2E testing'
npm run test:e2e:bundle:android
echo '--- :arrow_down: Download Android bundle'
buildkite-agent artifact download bundle/android/App.js .

# Copy the JavaScript bundle and all local static assets referenced within the
# bundle to the appropriate locations for inclusion in the bridge bundle
mkdir -p gutenberg/packages/react-native-bridge/android/react-native-bridge/build/assets
cp ./bundle/android/App.js ./gutenberg/packages/react-native-bridge/android/react-native-bridge/build/assets/index.android.bundle
cp -r ./bundle/android/drawable-* ./gutenberg/packages/react-native-bridge/android/react-native-bridge/src/main/res/

echo '--- :react: Build Android app for E2E testing'
npm run core test:e2e:build-app:android
Expand Down
41 changes: 27 additions & 14 deletions .buildkite/commands/build-ios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,49 @@
echo '--- :desktop_computer: Clear up some disk space'
rm -rfv ~/.Trash/15.1.xip

echo '--- :node: Set up Node depenendencies'
npm ci --unsafe-perm --prefer-offline --no-audit --no-progress
echo '--- :node: Set up Node dependencies'
npm ci --prefer-offline --no-audit --ignore-scripts
npm ci --prefix gutenberg --prefer-offline --no-audit --ignore-scripts

echo '--- :ios: Set env var for iOS E2E testing'
set -x
export TEST_RN_PLATFORM=ios
export TEST_ENV=sauce
# We must use a simulator that's available on the selected Xcode version
# otherwsie Xcode fallbacks to "generic destination" which requires provision
# profiles to built the Demo app.
export RN_EDITOR_E2E_IOS_DESTINATION="platform=iOS Simulator,name=iPhone 15"
set +x

echo '--- :react: Build iOS bundle for E2E testing'
npm run test:e2e:bundle:ios
echo '--- :arrow_down: Download iOS bundle'
buildkite-agent artifact download bundle/ios/App.js .
buildkite-agent artifact download ios-assets.tar.gz .

APP_PATH="gutenberg/packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app"

mkdir -p "$APP_PATH"
cp bundle/ios/App.js "$APP_PATH/main.jsbundle"
tar -xzvf ios-assets.tar.gz -C "$APP_PATH/"

echo "--- :react: Prepare tests setup"
npm run core test:e2e:setup

echo '--- :react: Build iOS app for E2E testing'
npm run core test:e2e:build-app:ios

echo '--- :compression: Prepare artifact for SauceLabs upload'
echo '--- :react: Build WDA for E2E testing'
npm run core test:e2e:build-wda

echo '--- :compression: Prepare artifacts'
WORK_DIR=$(pwd) \
&& pushd ./gutenberg/packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator \
&& zip -r "$WORK_DIR/gutenberg/packages/react-native-editor/ios/GutenbergDemo.app.zip" GutenbergDemo.app \
&& popd

echo '--- :saucelabs: Upload app artifact to SauceLabs'
SAUCE_FILENAME=${BUILDKITE_BRANCH//[\/]/-}
curl -u "$SAUCE_USERNAME:$SAUCE_ACCESS_KEY" \
--location \
--request POST 'https://api.us-west-1.saucelabs.com/v1/storage/upload' \
--form 'payload=@"./gutenberg/packages/react-native-editor/ios/GutenbergDemo.app.zip"' \
--form "name=Gutenberg-$SAUCE_FILENAME.app.zip" \
--form 'description="Gutenberg"'
WORK_DIR=$(pwd) \
&& pushd ./gutenberg/packages/react-native-editor/ios/build/WDA \
&& zip -r "$WORK_DIR/gutenberg/packages/react-native-editor/ios/WDA.zip" ./* \
&& popd

echo "--- :arrow_up: Upload Build Products"
upload_artifact "./gutenberg/packages/react-native-editor/ios/GutenbergDemo.app.zip"
upload_artifact "./gutenberg/packages/react-native-editor/ios/WDA.zip"
4 changes: 2 additions & 2 deletions .buildkite/commands/test-android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ while [ "$INPUT" != "" ]; do
INPUT="${1-}"
done

echo '--- :node: Set up Node depenendencies'
echo '--- :node: Set up Node dependencies'
npm ci --prefer-offline --no-audit --ignore-scripts
npm ci --prefix gutenberg --prefer-offline --no-audit
npm ci --prefix gutenberg --prefer-offline --no-audit --ignore-scripts

echo '--- :ios: Set env var for Android E2E testing'
set -x
Expand Down
47 changes: 31 additions & 16 deletions .buildkite/commands/test-ios.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#!/bin/bash -eu

CONFIG_FILE="$(pwd)/gutenberg/packages/react-native-editor/__device-tests__/helpers/device-config.json"
DEVICE_NAME=$(jq -r '.ios.local.deviceName' "$CONFIG_FILE")
DEVICE_TABLET_NAME=$(jq -r '.ios.local.deviceTabletName' "$CONFIG_FILE")

MODE="iphone"
INPUT="${1-}"
while [ "$INPUT" != "" ]; do
Expand All @@ -19,30 +23,41 @@ while [ "$INPUT" != "" ]; do
INPUT="${1-}"
done

echo '--- :node: Set up Node depenendencies'
if [ "$MODE" == 'canary' ]; then
SECTION='--- :react: Test iOS Canary Pages'
TESTS_CMD='device-tests-canary'
elif [ "$MODE" == "ipad" ]; then
SECTION='--- :react: Test iOS iPad'
DEVICE_NAME=$DEVICE_TABLET_NAME
TESTS_CMD='device-tests-ipad'
else
SECTION='--- :react: Test iOS iPhone'
TESTS_CMD='device-tests'
fi

echo "--- :apple_logo: Start booting up simulator"
xcrun simctl boot "$DEVICE_NAME" &

echo "--- 📦 Downloading Build Artifacts"
export IOS_APP_PATH=./gutenberg/packages/react-native-editor/ios/GutenbergDemo.app.zip
download_artifact "GutenbergDemo.app.zip" "$IOS_APP_PATH"

export WDA_PATH=./gutenberg/packages/react-native-editor/ios/build/WDA
download_artifact "WDA.zip" "$WDA_PATH/WDA.zip"
unzip "$WDA_PATH/WDA.zip" -d "$WDA_PATH"

echo '--- :node: Set up Node dependencies'
npm ci --prefer-offline --no-audit --ignore-scripts
npm ci --prefix gutenberg --prefer-offline --no-audit
npm ci --prefix gutenberg --prefer-offline --no-audit --ignore-scripts

echo '--- :ios: Set env var for iOS E2E testing'
set -x
export TEST_RN_PLATFORM=ios
export TEST_ENV=sauce
export JEST_JUNIT_OUTPUT_FILE="reports/test-results/ios-test-results.xml"
# This is a relic of the CircleCI setup.
# It should be removed once the migration to Buildkite is completed.
export CIRCLE_BRANCH=${BUILDKITE_BRANCH}
set +x

if [ "$MODE" == 'canary' ]; then
SECTION='--- :saucelabs: Test iOS Canary Pages'
TESTS_CMD='device-tests-canary'
elif [ "$MODE" == "ipad" ]; then
SECTION='--- :saucelabs: Test iOS iPad'
TESTS_CMD='device-tests-ipad'
else
SECTION='--- :saucelabs: Test iOS iPhone'
TESTS_CMD='device-tests'
fi
echo "--- :react: Prepare tests setup"
npm run core test:e2e:setup

set +e
echo "$SECTION"
Expand Down
32 changes: 15 additions & 17 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,6 @@ steps:
queue: android

- label: Build JS Bundles
depends_on:
- lint
- android-unit-tests
- ios-unit-tests
key: js-bundles
plugins:
# The following plugins are disabled temporarily until PHP is available.
Expand All @@ -136,8 +132,8 @@ steps:
npm run prebundle:js
fi

echo "--- :android: Build Android bundle"
npm run bundle:android
echo "--- :react: Generate bundles"
npm run bundle:all

echo "--- :arrow_up: Upload Android bundle artifact"
buildkite-agent artifact upload bundle/android/App.js
Expand All @@ -148,9 +144,6 @@ steps:
buildkite-agent artifact upload bundle/android/App.composed.js.map
fi

echo "--- :ios: Build iOS bundle"
npm run bundle:ios

echo "--- :arrow_up: Upload iOS bundle artifact"
buildkite-agent artifact upload bundle/ios/App.js
tar -czvf ios-assets.tar.gz -C ios-xcframework/Gutenberg/Resources assets/
Expand Down Expand Up @@ -194,11 +187,12 @@ steps:
queue: mac
env: *xcode_agent_env

- label: iOS Build and Sauce Labs
key: ios-build-and-saucelabs
- label: iOS Build
key: ios-build
depends_on:
- lint
- ios-unit-tests
- js-bundles
command: .buildkite/commands/build-ios.sh
plugins:
- *ci_toolkit_plugin
Expand All @@ -211,14 +205,15 @@ steps:
env: *xcode_agent_env

- label: Test iOS on Device – Canary Pages
depends_on: ios-build-and-saucelabs
depends_on: ios-build
command: .buildkite/commands/test-ios.sh --canary
plugins:
- *ci_toolkit_plugin
- *nvm_plugin
- *git-cache-plugin
artifact_paths:
- reports/test-results/ios-test-results.xml
- ios-screen-recordings/*
agents:
queue: mac
env: *xcode_agent_env
Expand All @@ -233,6 +228,7 @@ steps:
- android-unit-tests
- android-unit-tests-editor
- android-unit-tests-bridge
- js-bundles
command: .buildkite/commands/build-android.sh
plugins:
- *ci_toolkit_plugin
Expand Down Expand Up @@ -263,13 +259,13 @@ steps:
if: *is_branch_for_quick_ui_tests
key: run-full-ui-test
prompt: "Run full UI tests suites?"
depends_on: ios-build-and-saucelabs
depends_on: ios-build

- label: Test iOS on Device – Full iPhone
# The quick UI tests suite version depends on the block step being unblocked
if: *is_branch_for_quick_ui_tests
depends_on:
- ios-build-and-saucelabs
- ios-build
- run-full-ui-test
command: .buildkite/commands/test-ios.sh
plugins:
Expand All @@ -287,14 +283,15 @@ steps:
# The full UI tests suite version depends only on the ios-build step, meaning it has no manual step that triggers it
if: *is_branch_for_full_ui_tests
depends_on:
- ios-build-and-saucelabs
- ios-build
command: .buildkite/commands/test-ios.sh
plugins:
- *ci_toolkit_plugin
- *nvm_plugin
- *git-cache-plugin
artifact_paths:
- reports/test-results/ios-test-results.xml
- ios-screen-recordings/*
agents:
queue: mac
env: *xcode_agent_env
Expand All @@ -303,7 +300,7 @@ steps:
# The quick UI tests suite version depends on the block step being unblocked
if: *is_branch_for_quick_ui_tests
depends_on:
- ios-build-and-saucelabs
- ios-build
- run-full-ui-test
command: .buildkite/commands/test-ios.sh --ipad
plugins:
Expand All @@ -312,6 +309,7 @@ steps:
- *git-cache-plugin
artifact_paths:
- reports/test-results/ios-test-results.xml
- ios-screen-recordings/*
agents:
queue: mac
env: *xcode_agent_env
Expand All @@ -320,7 +318,7 @@ steps:
# The full UI tests suite version depends only on the ios-build step, meaning it has no manual step that triggers it
if: *is_branch_for_full_ui_tests
depends_on:
- ios-build-and-saucelabs
- ios-build
command: .buildkite/commands/test-ios.sh --ipad
plugins:
- *ci_toolkit_plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ describe( 'Gutenberg Editor - Test Suite 1', () => {
await titleElement.click();
await editorPage.dismissKeyboard();

await editorPage.driver.waitUntil( async function () {
return ! ( await editorPage.driver.isKeyboardShown() );
} );

// Visual test check for portrait orientation
let screenshot = await takeScreenshot();
expect( screenshot ).toMatchImageSnapshot();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,6 @@ describe( 'Gutenberg Editor - Test Suite 4', () => {
buttonBlockTextInput
);

// Wait for text context menu animation
await editorPage.driver.pause( 500 );

// Visual test check
const screenshot = await takeScreenshotByElement(
buttonBlockTextInput,
Expand Down
2 changes: 1 addition & 1 deletion __device-tests__/gutenberg-editor-writing-flow.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const { blockNames } = editorPage;
import { takeScreenshot } from './utils';
import { WEBSITE_HTML } from './test-editor-data';

describe( 'Gutenberg Editor Writing Flow', () => {
describe.skip( 'Gutenberg Editor Writing Flow', () => {
it( 'should format pasted HTML', async () => {
// Arrange
await editorPage.initializeEditor();
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion __device-tests__/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ export async function takeScreenshot( { withoutKeyboard, crop } = {} ) {

const orientation = await editorPage.driver.getOrientation();
const isPortrait = orientation === 'PORTRAIT';
const statusBarHeightIPhone = isPortrait ? 94 : 0;
const statusBarHeightIPhone = isPortrait ? 118 : 0;
const statusBarHeightIOS = iPadDevice ? 48 : statusBarHeightIPhone;
const statusBarHeight = isAndroid() ? 100 : statusBarHeightIOS;
const screenshot = await editorPage.driver.takeScreenshot();
Expand Down
30 changes: 30 additions & 0 deletions bin/test-e2e.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash -e

set -o pipefail

# Using the ':' operator with ':=' to check if a variable is set.
# If the variable is unset or null, the value after ':=' is assigned to it.
: ${IOS_APP_PATH:='./gutenberg/packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app'}
: ${WDA_PATH:='./gutenberg/packages/react-native-editor/ios/build/WDA'}
: ${ANDROID_APP_PATH:='./gutenberg/packages/react-native-editor/android/app/build/outputs/apk/debug/app-debug.apk'}

export IOS_APP_PATH
export WDA_PATH
export ANDROID_APP_PATH

export APPIUM_HOME=~/.appium
export NODE_ENV=test

if [ "$TEST_RN_PLATFORM" == "android" ]; then
MAX_WORKERS=2
else
MAX_WORKERS=1
fi

# Check for debug mode
if [ "$1" == "--debug" ]; then
shift # Remove first argument
node $NODE_DEBUG_OPTION --inspect-brk node_modules/jest/bin/jest --runInBand --detectOpenHandles --verbose --config jest_ui.config.js "$@"
else
jest --config ./jest_ui.config.js --maxWorkers $MAX_WORKERS --forceExit "$@"
fi
2 changes: 1 addition & 1 deletion gutenberg
Submodule gutenberg updated 81 files
+20 −0 .eslintrc.js
+1 −1 .github/CODEOWNERS
+1 −1 .github/workflows/enforce-pr-labels.yml
+2 −2 .github/workflows/rnmobile-ios-runner.yml
+1 −2 docs/reference-guides/data/data-core-editor.md
+1 −1 package.json
+2 −2 packages/block-editor/src/components/block-canvas/style.scss
+4 −3 packages/block-editor/src/components/block-mover/style.scss
+86 −85 packages/block-editor/src/components/block-title/test/index.js
+33 −31 packages/block-editor/src/components/block-title/use-block-display-title.js
+8 −1 packages/block-editor/src/components/block-toolbar/style.scss
+0 −1 packages/block-library/src/block/edit.js
+1 −0 packages/block-library/src/editor.scss
+11 −4 packages/block-library/src/navigation-submenu/index.js
+4 −0 packages/block-library/src/post-content/editor.scss
+5 −5 packages/block-library/src/post-template/edit.js
+16 −6 packages/blocks/src/store/private-selectors.js
+10 −2 packages/components/CHANGELOG.md
+3 −3 packages/components/src/card/test/__snapshots__/index.tsx.snap
+8 −8 packages/components/src/dimension-control/test/__snapshots__/index.test.js.snap
+1 −1 packages/components/src/dropdown-menu-v2/styles.ts
+1 −4 packages/components/src/item-group/styles.ts
+1 −4 packages/components/src/palette-edit/styles.ts
+3 −3 packages/components/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts
+8 −8 packages/components/src/toggle-group-control/test/__snapshots__/index.tsx.snap
+45 −23 packages/components/src/utils/colors-values.js
+4 −0 packages/dataviews/src/style.scss
+4 −4 packages/dataviews/src/view-table.js
+2 −5 packages/edit-post/src/components/header/index.js
+16 −25 packages/edit-post/src/components/header/mode-switcher/index.js
+39 −7 packages/edit-post/src/components/header/style.scss
+3 −6 packages/edit-post/src/components/sidebar/settings-header/index.js
+7 −7 packages/edit-post/src/components/sidebar/settings-sidebar/index.js
+3 −7 packages/edit-post/src/components/sidebar/template-summary/index.js
+4 −2 packages/edit-post/src/components/visual-editor/index.js
+11 −6 packages/edit-post/src/components/welcome-guide/index.js
+17 −30 packages/edit-post/src/editor.js
+1 −1 packages/edit-post/src/hooks/use-post-history.js
+3 −3 packages/edit-post/src/plugins/welcome-guide-menu-item/index.js
+0 −9 packages/edit-post/src/store/actions.js
+6 −3 packages/edit-site/src/components/block-editor/back-button.js
+19 −12 packages/edit-site/src/components/block-editor/site-editor-canvas.js
+5 −1 packages/edit-site/src/components/block-editor/use-post-link-props.js
+4 −9 packages/edit-site/src/components/editor/index.js
+2 −2 packages/edit-site/src/components/global-styles/font-library-modal/font-collection.js
+44 −38 packages/edit-site/src/components/global-styles/font-library-modal/utils/index.js
+12 −11 packages/edit-site/src/components/global-styles/screen-revisions/style.scss
+47 −5 packages/edit-site/src/components/header-edit-mode/style.scss
+1 −1 packages/edit-site/src/components/routes/link.js
+1 −4 packages/edit-site/src/components/sidebar-edit-mode/index.js
+12 −34 packages/edit-site/src/components/sidebar-edit-mode/settings-header/index.js
+2 −2 packages/edit-site/src/components/welcome-guide/template.js
+26 −14 packages/edit-site/src/hooks/commands/use-edit-mode-commands.js
+39 −3 packages/edit-widgets/src/components/header/style.scss
+4 −23 packages/editor/src/components/document-bar/index.js
+21 −5 packages/editor/src/components/editor-canvas/edit-template-blocks-notification.js
+3 −3 packages/editor/src/components/editor-canvas/index.js
+32 −20 packages/editor/src/components/post-template/block-theme.js
+19 −9 packages/editor/src/components/post-template/classic-theme.js
+19 −9 packages/editor/src/components/post-template/create-new-template-modal.js
+3 −11 packages/editor/src/components/provider/index.js
+8 −3 packages/editor/src/store/actions.js
+1 −0 packages/editor/src/store/private-actions.js
+12 −0 packages/editor/src/store/selectors.js
+84 −35 packages/format-library/src/link/index.js
+4 −15 packages/format-library/src/link/inline.js
+4 −1 packages/react-native-aztec/android/gradle.properties
+4 −1 packages/react-native-bridge/android/gradle.properties
+3 −1 packages/react-native-editor/__device-tests__/[email protected]
+16 −22 packages/react-native-editor/__device-tests__/helpers/caps.js
+5 −7 packages/react-native-editor/__device-tests__/helpers/device-config.json
+58 −52 packages/react-native-editor/__device-tests__/helpers/utils.js
+3 −0 packages/react-native-editor/android/gradle.properties
+1 −1 packages/react-native-editor/bin/build-e2e-wda.sh
+1 −1 packages/react-native-editor/bin/build_e2e_ios_app
+4 −3 packages/react-native-editor/bin/test-e2e-setup.sh
+0 −2 packages/react-native-editor/package.json
+0 −54 patches/patch-xcode.js
+165 −279 test/e2e/specs/editor/blocks/links.spec.js
+2 −0 test/e2e/specs/editor/various/post-editor-template-mode.spec.js
+4 −1 test/e2e/specs/site-editor/pages.spec.js
Loading