Block Editor: Subscribe only to block editor store in useBlockSync (#… #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: React Native E2E Tests (iOS) | |
on: | |
pull_request: | |
push: | |
branches: [trunk] | |
# Cancels all previous workflow runs for pull requests that have not completed. | |
concurrency: | |
# The concurrency group contains the workflow name and the branch name for pull requests | |
# or the commit hash for any other events. | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: macos-12 | |
if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }} | |
strategy: | |
matrix: | |
xcode: ['13.3.1'] | |
device: ['iPhone 13'] | |
native-test-name: [gutenberg-editor-rendering] | |
steps: | |
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 | |
with: | |
show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} | |
- name: Setup Node.js and install dependencies | |
uses: ./.github/setup-node | |
- name: Prepare build cache key | |
run: find package-lock.json packages/react-native-editor/ios packages/react-native-aztec/ios packages/react-native-bridge/ios -type f -print0 | sort -z | xargs -0 shasum | tee ios-checksums.txt | |
- name: Restore build cache | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2 | |
with: | |
path: | | |
packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app | |
packages/react-native-editor/ios/build/WDA | |
key: ${{ runner.os }}-ios-build-${{ matrix.xcode }}-${{ matrix.device }}-${{ hashFiles('ios-checksums.txt') }} | |
- name: Restore pods cache | |
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2 | |
with: | |
path: | | |
packages/react-native-editor/ios/Pods | |
~/Library/Caches/CocoaPods | |
~/.cocoapods/repos/trunk | |
packages/react-native-editor/ios/vendor | |
key: ${{ runner.os }}-pods-${{ hashFiles('packages/react-native-editor/ios/Gemfile.lock') }}-${{ hashFiles('packages/react-native-editor/ios/Podfile.lock') }}-${{ hashFiles('package-lock.json') }} | |
- name: Bundle iOS | |
run: npm run native test:e2e:bundle:ios | |
- name: Switch Xcode version to ${{ matrix.xcode }} | |
run: sudo xcode-select --switch /Applications/Xcode_${{ matrix.xcode }}.app | |
- name: Build (if needed) | |
run: test -e packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app/GutenbergDemo || npm run native test:e2e:build-app:ios | |
- name: Build Web Driver Agent (if needed) | |
run: test -d packages/react-native-editor/ios/build/WDA || npm run native test:e2e:build-wda | |
- name: Launch simulator | |
run: open -a Simulator && xcrun simctl boot '${{ matrix.device }}' | |
- name: Run iOS Device Tests | |
run: TEST_RN_PLATFORM=ios npm run native device-tests:local ${{ matrix.native-test-name }} | |
- name: Prepare build cache | |
run: | | |
rm packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app/main.jsbundle | |
rm -rf packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app/assets | |
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
if: always() | |
with: | |
name: ios-screen-recordings | |
path: packages/react-native-editor/ios-screen-recordings | |
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
if: always() | |
with: | |
name: appium-logs | |
path: packages/react-native-editor/appium-out.log |