From 7ae9081f22fad1b1f6b4ba847d962c01296cebd0 Mon Sep 17 00:00:00 2001 From: ArekAras Date: Wed, 21 Oct 2026 10:31:34 +0200 Subject: [PATCH] refactor: share JavaScript across demo apps --- .../actions/androidapp-road-test/action.yml | 6 +- .github/actions/appleapp-road-test/action.yml | 4 +- .github/workflows/ci.yml | 15 +- CONTRIBUTING.md | 13 +- apps/AndroidApp/.detoxrc.cjs | 2 +- apps/AndroidApp/.detoxrc.expo57.cjs | 2 +- apps/AndroidApp/.detoxrc.expo58.cjs | 2 +- .../brownfield/android/example/E2eTestIds.kt | 2 +- apps/AndroidApp/e2e/jest.config.cjs | 7 +- apps/AndroidApp/e2e/jest.config.expo57.cjs | 4 +- apps/AndroidApp/e2e/jest.config.expo58.cjs | 4 +- apps/AndroidApp/package.json | 2 +- apps/AppleApp/.detoxrc.cjs | 2 +- apps/AppleApp/.detoxrc.expo57.cjs | 4 +- apps/AppleApp/.detoxrc.expo58.cjs | 4 +- .../Brownfield Apple App/E2eTestIds.swift | 2 +- apps/AppleApp/e2e/jest.config.cjs | 7 +- apps/AppleApp/e2e/jest.config.expo57.cjs | 9 +- apps/AppleApp/e2e/jest.config.expo58.cjs | 9 +- apps/AppleApp/package.json | 2 +- apps/ExpoApp57/RNApp.tsx | 121 +---------- .../__tests__/brownfield.example.test.tsx | 15 ++ apps/ExpoApp57/entry.tsx | 2 +- apps/ExpoApp57/jest.config.js | 13 ++ apps/ExpoApp57/jest.setup.js | 7 + apps/ExpoApp57/jest/cssMock.js | 2 + apps/ExpoApp57/package.json | 13 +- apps/ExpoApp57/src/app/_layout.tsx | 23 +- apps/ExpoApp57/src/app/explore.tsx | 181 +--------------- apps/ExpoApp57/src/app/index.tsx | 118 +---------- apps/ExpoApp57/src/app/postMessage.tsx | 119 +---------- apps/ExpoApp57/src/components/app-tabs.tsx | 48 ----- .../ExpoApp57/src/components/app-tabs.web.tsx | 115 ---------- .../src/components/counter/index.tsx | 33 --- .../src/components/external-link.tsx | 25 --- apps/ExpoApp57/src/components/hint-row.tsx | 35 --- .../components/postMessage/MessageBubble.tsx | 81 ------- apps/ExpoApp57/src/components/themed-view.tsx | 16 -- .../src/components/ui/collapsible.tsx | 65 ------ apps/ExpoApp57/src/global.css | 9 - .../src/hooks/use-color-scheme.web.ts | 22 -- .../src/hooks/use-mark-fully-displayed.ts | 22 -- apps/ExpoApp57/src/utils/expo-rn-updates.ts | 25 --- apps/ExpoApp57/tsconfig.json | 7 +- apps/ExpoApp58/RNApp.tsx | 116 +--------- .../__tests__/brownfield.example.test.tsx | 9 +- .../assets/images/expo-badge-white.png | Bin 4129 -> 0 bytes apps/ExpoApp58/assets/images/expo-badge.png | Bin 4137 -> 0 bytes apps/ExpoApp58/assets/images/expo-logo.png | Bin 3317 -> 0 bytes apps/ExpoApp58/assets/images/logo-glow.png | Bin 331624 -> 0 bytes apps/ExpoApp58/assets/images/react-logo.png | Bin 6341 -> 0 bytes .../ExpoApp58/assets/images/react-logo@2x.png | Bin 14225 -> 0 bytes .../ExpoApp58/assets/images/react-logo@3x.png | Bin 21252 -> 0 bytes .../assets/images/tabIcons/explore.png | Bin 215 -> 0 bytes .../assets/images/tabIcons/explore@2x.png | Bin 347 -> 0 bytes .../assets/images/tabIcons/explore@3x.png | Bin 468 -> 0 bytes .../ExpoApp58/assets/images/tabIcons/home.png | Bin 253 -> 0 bytes .../assets/images/tabIcons/home@2x.png | Bin 343 -> 0 bytes .../assets/images/tabIcons/home@3x.png | Bin 479 -> 0 bytes apps/ExpoApp58/assets/images/tutorial-web.png | Bin 58959 -> 0 bytes apps/ExpoApp58/entry.tsx | 4 +- apps/ExpoApp58/jest.config.js | 2 +- apps/ExpoApp58/jest.setup.js | 2 +- apps/ExpoApp58/package.json | 3 +- apps/ExpoApp58/src/app/_layout.tsx | 23 +- apps/ExpoApp58/src/app/explore.tsx | 181 +--------------- apps/ExpoApp58/src/app/index.tsx | 111 +--------- apps/ExpoApp58/src/app/postMessage.tsx | 119 +---------- .../src/components/animated-icon.module.css | 6 - .../src/components/animated-icon.tsx | 132 ------------ .../src/components/animated-icon.web.tsx | 108 ---------- .../src/components/counter/index.tsx | 33 --- .../src/components/postMessage/Message.ts | 6 - apps/ExpoApp58/src/components/themed-text.tsx | 73 ------- apps/ExpoApp58/src/components/themed-view.tsx | 16 -- apps/ExpoApp58/src/components/web-badge.tsx | 43 ---- apps/ExpoApp58/src/constants/theme.ts | 65 ------ apps/ExpoApp58/src/hooks/use-color-scheme.ts | 1 - .../src/hooks/use-mark-fully-displayed.ts | 22 -- apps/ExpoApp58/src/hooks/use-theme.ts | 14 -- apps/ExpoApp58/tsconfig.json | 7 +- apps/README.md | 7 + apps/RNApp/.detoxrc.cjs | 2 +- .../__tests__/brownfield.example.test.tsx | 10 +- apps/RNApp/e2e/jest.config.cjs | 7 +- apps/RNApp/jest.config.js | 2 +- apps/RNApp/jest.setup.js | 2 +- apps/RNApp/package.json | 3 +- apps/RNApp/src/App.tsx | 2 +- apps/RNApp/src/HomeScreen.tsx | 6 +- apps/RNApp/tsconfig.json | 5 +- apps/shared-runtime/README.md | 35 +++ .../assets/images/expo-badge-white.png | Bin .../assets/images/expo-badge.png | Bin .../assets/images/expo-logo.png | Bin .../assets/images/logo-glow.png | Bin .../assets/images/react-logo.png | Bin .../assets/images/react-logo@2x.png | Bin .../assets/images/react-logo@3x.png | Bin .../assets/images/tabIcons/explore.png | Bin .../assets/images/tabIcons/explore@2x.png | Bin .../assets/images/tabIcons/explore@3x.png | Bin .../assets/images/tabIcons/home.png | Bin .../assets/images/tabIcons/home@2x.png | Bin .../assets/images/tabIcons/home@3x.png | Bin .../assets/images/tutorial-web.png | Bin apps/shared-runtime/eslint.config.mjs | 3 + apps/shared-runtime/package.json | 79 +++++++ .../src/components/counter.tsx} | 14 +- .../src/e2eTestIds.ts | 0 apps/shared-runtime/src/expo/RNApp.tsx | 118 +++++++++++ apps/shared-runtime/src/expo/app/explore.tsx | 199 ++++++++++++++++++ apps/shared-runtime/src/expo/app/home.tsx | 110 ++++++++++ apps/shared-runtime/src/expo/app/layout.tsx | 19 ++ .../src/expo/app/postMessage.tsx | 118 +++++++++++ .../expo}/components/animated-icon.module.css | 0 .../src/expo}/components/animated-icon.tsx | 25 ++- .../expo}/components/animated-icon.web.tsx | 25 ++- .../src/expo}/components/app-tabs.tsx | 19 +- .../src/expo}/components/app-tabs.web.tsx | 16 +- .../src/expo}/components/external-link.tsx | 9 +- .../src/expo}/components/hint-row.tsx | 7 +- .../expo}/components/postMessage/Message.ts | 0 .../components/postMessage/MessageBubble.tsx | 7 +- .../src/expo}/components/themed-text.tsx | 21 +- .../src/expo/components/themed-view.tsx | 19 ++ .../src/expo}/components/ui/collapsible.tsx | 27 ++- .../src/expo}/components/web-badge.tsx | 12 +- .../src/expo}/constants/theme.ts | 2 +- .../src/expo}/global.css | 11 +- .../src/expo}/hooks/use-color-scheme.ts | 0 .../src/expo}/hooks/use-color-scheme.web.ts | 6 +- .../src/expo}/hooks/use-theme.ts | 6 +- .../src/expo}/utils/expo-rn-updates.ts | 2 +- .../src/index.ts} | 0 .../src}/useMarkFullyDisplayed.ts | 0 .../src/userAlert.ts | 0 .../CHANGELOG.md | 2 +- .../detox-android-emulator-device.cjs | 0 .../detox-androidapp-variants.cjs | 0 .../detox-appleapp-variants.cjs | 0 .../detox-artifacts-config.cjs | 0 .../detox-ios-simulator-device.cjs | 0 .../detox-ios-simulator-device.test.cjs | 0 .../detox-rc-androidapp-emulator-release.cjs | 0 ...ox-rc-androidapp-emulator-release.test.cjs | 0 .../detox-rc-appleapp-ios-sim-debug.cjs | 0 .../detox-rc-ios-sim-debug.cjs | 0 .../e2e/androidAppBrownfield.e2e.js | 6 +- .../e2e/androidAppDetoxUtils.cjs | 4 +- .../e2e/androidAppExpoBrownfield.e2e.js | 6 +- .../e2e/appleAppBrownfield.e2e.js | 6 +- .../e2e/appleAppDetoxUtils.cjs | 4 +- .../e2e/appleAppExpoBrownfield.e2e.js | 6 +- .../e2e/createDetoxJestConfig.cjs | 7 +- .../e2e/detoxTiming.cjs | 0 .../e2e/detoxUtils.cjs | 0 .../e2e/e2eTestIds.cjs | 2 +- .../e2e/expoPostMessageBrownfield.e2e.js | 4 +- .../e2e/rnAppBrownfield.e2e.js | 4 +- apps/shared-tests/e2eTestIds.test.cjs | 8 + .../jest/expo-config.js | 4 +- .../jest/setup.js | 0 .../package.json | 7 +- .../prepare-android-emulator-for-detox.sh | 0 .../scripts/run-with-android-logcat.sh | 0 .../src/global.d.ts | 0 .../src/index.ts | 7 - .../src/suites/counter.suite.tsx | 0 .../src/suites/expoRnApp.suite.tsx | 34 ++- .../src/suites/homeScreen.suite.tsx | 9 +- .../src/suites/postMessageTab.suite.tsx | 0 .../src/suites/userAlert.suite.ts | 2 +- .../tsconfig.json | 0 scripts/ci-local-androidapp-android-e2e.sh | 8 +- scripts/ci-local-appleapp-ios-e2e.sh | 2 +- yarn.lock | 154 +++++++++++--- 177 files changed, 1241 insertions(+), 2315 deletions(-) create mode 100644 apps/ExpoApp57/__tests__/brownfield.example.test.tsx create mode 100644 apps/ExpoApp57/jest.config.js create mode 100644 apps/ExpoApp57/jest.setup.js create mode 100644 apps/ExpoApp57/jest/cssMock.js delete mode 100644 apps/ExpoApp57/src/components/app-tabs.tsx delete mode 100644 apps/ExpoApp57/src/components/app-tabs.web.tsx delete mode 100644 apps/ExpoApp57/src/components/counter/index.tsx delete mode 100644 apps/ExpoApp57/src/components/external-link.tsx delete mode 100644 apps/ExpoApp57/src/components/hint-row.tsx delete mode 100644 apps/ExpoApp57/src/components/postMessage/MessageBubble.tsx delete mode 100644 apps/ExpoApp57/src/components/themed-view.tsx delete mode 100644 apps/ExpoApp57/src/components/ui/collapsible.tsx delete mode 100644 apps/ExpoApp57/src/global.css delete mode 100644 apps/ExpoApp57/src/hooks/use-color-scheme.web.ts delete mode 100644 apps/ExpoApp57/src/hooks/use-mark-fully-displayed.ts delete mode 100644 apps/ExpoApp57/src/utils/expo-rn-updates.ts delete mode 100644 apps/ExpoApp58/assets/images/expo-badge-white.png delete mode 100644 apps/ExpoApp58/assets/images/expo-badge.png delete mode 100644 apps/ExpoApp58/assets/images/expo-logo.png delete mode 100644 apps/ExpoApp58/assets/images/logo-glow.png delete mode 100644 apps/ExpoApp58/assets/images/react-logo.png delete mode 100644 apps/ExpoApp58/assets/images/react-logo@2x.png delete mode 100644 apps/ExpoApp58/assets/images/react-logo@3x.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/explore.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/explore@2x.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/explore@3x.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/home.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/home@2x.png delete mode 100644 apps/ExpoApp58/assets/images/tabIcons/home@3x.png delete mode 100644 apps/ExpoApp58/assets/images/tutorial-web.png delete mode 100644 apps/ExpoApp58/src/components/animated-icon.module.css delete mode 100644 apps/ExpoApp58/src/components/animated-icon.tsx delete mode 100644 apps/ExpoApp58/src/components/animated-icon.web.tsx delete mode 100644 apps/ExpoApp58/src/components/counter/index.tsx delete mode 100644 apps/ExpoApp58/src/components/postMessage/Message.ts delete mode 100644 apps/ExpoApp58/src/components/themed-text.tsx delete mode 100644 apps/ExpoApp58/src/components/themed-view.tsx delete mode 100644 apps/ExpoApp58/src/components/web-badge.tsx delete mode 100644 apps/ExpoApp58/src/constants/theme.ts delete mode 100644 apps/ExpoApp58/src/hooks/use-color-scheme.ts delete mode 100644 apps/ExpoApp58/src/hooks/use-mark-fully-displayed.ts delete mode 100644 apps/ExpoApp58/src/hooks/use-theme.ts create mode 100644 apps/shared-runtime/README.md rename apps/{ExpoApp57 => shared-runtime}/assets/images/expo-badge-white.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/expo-badge.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/expo-logo.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/logo-glow.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/react-logo.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/react-logo@2x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/react-logo@3x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/explore.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/explore@2x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/explore@3x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/home.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/home@2x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tabIcons/home@3x.png (100%) rename apps/{ExpoApp57 => shared-runtime}/assets/images/tutorial-web.png (100%) create mode 100644 apps/shared-runtime/eslint.config.mjs create mode 100644 apps/shared-runtime/package.json rename apps/{RNApp/src/components/counter/index.tsx => shared-runtime/src/components/counter.tsx} (62%) rename apps/{brownfield-example-shared-tests => shared-runtime}/src/e2eTestIds.ts (100%) create mode 100644 apps/shared-runtime/src/expo/RNApp.tsx create mode 100644 apps/shared-runtime/src/expo/app/explore.tsx create mode 100644 apps/shared-runtime/src/expo/app/home.tsx create mode 100644 apps/shared-runtime/src/expo/app/layout.tsx create mode 100644 apps/shared-runtime/src/expo/app/postMessage.tsx rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/animated-icon.module.css (100%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/animated-icon.tsx (81%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/animated-icon.web.tsx (76%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/app-tabs.tsx (75%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/app-tabs.web.tsx (89%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/external-link.tsx (78%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/hint-row.tsx (84%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/postMessage/Message.ts (100%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/postMessage/MessageBubble.tsx (92%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/themed-text.tsx (79%) create mode 100644 apps/shared-runtime/src/expo/components/themed-view.tsx rename apps/{ExpoApp58/src => shared-runtime/src/expo}/components/ui/collapsible.tsx (69%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/components/web-badge.tsx (72%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/constants/theme.ts (98%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/global.css (50%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/hooks/use-color-scheme.ts (100%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/hooks/use-color-scheme.web.ts (80%) rename apps/{ExpoApp57/src => shared-runtime/src/expo}/hooks/use-theme.ts (53%) rename apps/{ExpoApp58/src => shared-runtime/src/expo}/utils/expo-rn-updates.ts (87%) rename apps/{brownfield-example-shared-tests/src/runtime.ts => shared-runtime/src/index.ts} (100%) rename apps/{RNApp/src/hooks => shared-runtime/src}/useMarkFullyDisplayed.ts (100%) rename apps/{brownfield-example-shared-tests => shared-runtime}/src/userAlert.ts (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/CHANGELOG.md (86%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-android-emulator-device.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-androidapp-variants.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-appleapp-variants.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-artifacts-config.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-ios-simulator-device.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-ios-simulator-device.test.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-rc-androidapp-emulator-release.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-rc-androidapp-emulator-release.test.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-rc-appleapp-ios-sim-debug.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/detox-rc-ios-sim-debug.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/androidAppBrownfield.e2e.js (88%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/androidAppDetoxUtils.cjs (97%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/androidAppExpoBrownfield.e2e.js (87%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/appleAppBrownfield.e2e.js (89%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/appleAppDetoxUtils.cjs (97%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/appleAppExpoBrownfield.e2e.js (87%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/createDetoxJestConfig.cjs (81%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/detoxTiming.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/detoxUtils.cjs (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/e2eTestIds.cjs (90%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/expoPostMessageBrownfield.e2e.js (89%) rename apps/{brownfield-example-shared-tests => shared-tests}/e2e/rnAppBrownfield.e2e.js (92%) create mode 100644 apps/shared-tests/e2eTestIds.test.cjs rename apps/{brownfield-example-shared-tests => shared-tests}/jest/expo-config.js (85%) rename apps/{brownfield-example-shared-tests => shared-tests}/jest/setup.js (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/package.json (89%) rename apps/{brownfield-example-shared-tests => shared-tests}/scripts/prepare-android-emulator-for-detox.sh (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/scripts/run-with-android-logcat.sh (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/global.d.ts (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/index.ts (67%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/suites/counter.suite.tsx (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/suites/expoRnApp.suite.tsx (59%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/suites/homeScreen.suite.tsx (96%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/suites/postMessageTab.suite.tsx (100%) rename apps/{brownfield-example-shared-tests => shared-tests}/src/suites/userAlert.suite.ts (92%) rename apps/{brownfield-example-shared-tests => shared-tests}/tsconfig.json (100%) diff --git a/.github/actions/androidapp-road-test/action.yml b/.github/actions/androidapp-road-test/action.yml index dc9cc8cff..562d50536 100644 --- a/.github/actions/androidapp-road-test/action.yml +++ b/.github/actions/androidapp-road-test/action.yml @@ -271,7 +271,7 @@ runs: if: steps.e2e.outputs.phase == 'full' || steps.e2e.outputs.phase == 'build' || steps.e2e.outputs.phase == 'test' run: | node <<'NODE' - const { getAndroidAppDetoxVariant } = require('./apps/brownfield-example-shared-tests/detox-androidapp-variants.cjs'); + const { getAndroidAppDetoxVariant } = require('./apps/shared-tests/detox-androidapp-variants.cjs'); const variant = getAndroidAppDetoxVariant(process.env.ANDROIDAPP_VARIANT); const append = (key, value) => { const fs = require('node:fs'); @@ -396,9 +396,9 @@ runs: # low on disk after Gradle/NDK builds (see ReactiveCircus/android-emulator-runner#455). script: | echo "==> Starting Detox tests at $(date -u +%H:%M:%S)" - bash apps/brownfield-example-shared-tests/scripts/prepare-android-emulator-for-detox.sh + bash apps/shared-tests/scripts/prepare-android-emulator-for-detox.sh cd apps/AndroidApp - bash apps/brownfield-example-shared-tests/scripts/run-with-android-logcat.sh apps/AndroidApp/e2e-artifacts/logcat-full.txt yarn "$ANDROIDAPP_E2E_TEST_SCRIPT" + bash ../shared-tests/scripts/run-with-android-logcat.sh e2e-artifacts/logcat-full.txt yarn "$ANDROIDAPP_E2E_TEST_SCRIPT" env: ANDROIDAPP_E2E_TEST_SCRIPT: ${{ env.ANDROIDAPP_E2E_TEST_SCRIPT }} diff --git a/.github/actions/appleapp-road-test/action.yml b/.github/actions/appleapp-road-test/action.yml index b9e579835..d37c74da5 100644 --- a/.github/actions/appleapp-road-test/action.yml +++ b/.github/actions/appleapp-road-test/action.yml @@ -182,7 +182,7 @@ runs: if: inputs.run-e2e == 'true' run: | node <<'NODE' - const { getAppleAppDetoxVariant } = require('./apps/brownfield-example-shared-tests/detox-appleapp-variants.cjs'); + const { getAppleAppDetoxVariant } = require('./apps/shared-tests/detox-appleapp-variants.cjs'); const variant = getAppleAppDetoxVariant(process.env.APPLEAPP_VARIANT); const append = (key, value) => { const fs = require('node:fs'); @@ -208,7 +208,7 @@ runs: uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: apps/AppleApp/build - key: ${{ runner.os }}-e2e-appleapp-${{ inputs.variant }}-build-${{ hashFiles(format('{0}/ios/Podfile.lock', inputs.rn-project-path), 'apps/AppleApp/Brownfield Apple App.xcodeproj/project.pbxproj', 'apps/brownfield-example-shared-tests/e2e/**') }}-${{ hashFiles('apps/AppleApp/package/**/*.swiftinterface') }} + key: ${{ runner.os }}-e2e-appleapp-${{ inputs.variant }}-build-${{ hashFiles(format('{0}/ios/Podfile.lock', inputs.rn-project-path), 'apps/AppleApp/Brownfield Apple App.xcodeproj/project.pbxproj', 'apps/shared-tests/e2e/**') }}-${{ hashFiles('apps/AppleApp/package/**/*.swiftinterface') }} - name: Install Detox iOS artifacts if: inputs.run-e2e == 'true' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2773da4a1..40f322cc9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,19 +42,24 @@ jobs: - 'packages/**' rnapp: - 'apps/RNApp/**' - - 'apps/brownfield-example-shared-tests/**' + - 'apps/shared-tests/**' + - 'apps/shared-runtime/**' expo58: - 'apps/ExpoApp58/**' - - 'apps/brownfield-example-shared-tests/**' + - 'apps/shared-tests/**' + - 'apps/shared-runtime/**' expo57: - 'apps/ExpoApp57/**' - - 'apps/brownfield-example-shared-tests/**' + - 'apps/shared-tests/**' + - 'apps/shared-runtime/**' androidapp: - 'apps/AndroidApp/**' - - 'apps/brownfield-example-shared-tests/**' + - 'apps/shared-tests/**' + - 'apps/shared-runtime/**' appleapp: - 'apps/AppleApp/**' - - 'apps/brownfield-example-shared-tests/**' + - 'apps/shared-tests/**' + - 'apps/shared-runtime/**' gradle-plugins: - 'gradle-plugins/**' scripts: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aaa719fc0..ca7630ce5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -147,7 +147,7 @@ Root scripts run from the repository root with `yarn