From 38512ccc144bf2069e121e7111cfe100d0b26628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Kwa=C5=9Bniewski?= Date: Thu, 14 Dec 2023 13:06:48 +0100 Subject: [PATCH] feat: implement visionOS CI (#54) feat: use Xcode beta globally feat: use callstack/hermes-visionos fork feat: test Hermes feat: reset cache keys fix: use callstack/hermes fix: use correct hermes source tarball fix: use never xcode version test only JSC fix: change Xcode version fix: use m1 executor feat: add cocoapods cache fix: remove hermes from cache keys fix: rbenv reset cache test: use 15.2 fix: run visionos CI on every PR (#62) chore: disable some of upstream pipelines (#33) * chore: disable some of upstream pipelines * tests: update snapshot for visionOS * chore: disable more jobs, fix isVisionOS * fix: Keyboard.js, adjust pipeline_selection.js * feat: run iOS tests every night chore: disable android tests (#39) fix: prevent from running the testAll.yml on main (#41) fix: ci on main (#44) fix: remove windows jobs (#126) * fix: remove windows jobs * fix: sync jobs.yml --- .circleci/config.yml | 2 +- .circleci/configurations/executors.yml | 7 ++ .circleci/configurations/jobs.yml | 74 ++++++++++++++++++- .../configurations/test_workflows/testAll.yml | 28 +++---- .../test_workflows/testAndroid.yml | 1 + .../configurations/test_workflows/testE2E.yml | 1 + .../configurations/test_workflows/testIOS.yml | 1 + .../test_workflows/testVisionOS.yml | 6 ++ .circleci/configurations/top_level.yml | 36 ++++----- .circleci/configurations/workflows.yml | 1 + .github/workflows/ios-tests.yml | 18 +++-- .../RNTesterPods.xcodeproj/project.pbxproj | 2 - scripts/circleci/pipeline_selection.js | 22 +++++- 13 files changed, 154 insertions(+), 45 deletions(-) create mode 100644 .circleci/configurations/test_workflows/testVisionOS.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index a642711e33d1af..ff5476dd49dff4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,7 +71,7 @@ jobs: name: "[Main or Stable] Create input for config to test everything" command: | mkdir -p /tmp/circleci/ - echo '{ "run_all": true }' > /tmp/circleci/pipeline_config.json + node ./scripts/circleci/pipeline_selection.js filter-jobs - when: condition: not: diff --git a/.circleci/configurations/executors.yml b/.circleci/configurations/executors.yml index 1e20c133e36590..360049670c2503 100644 --- a/.circleci/configurations/executors.yml +++ b/.circleci/configurations/executors.yml @@ -43,3 +43,10 @@ executors: resource_class: macos.x86.medium.gen2 environment: - RCT_BUILD_HERMES_FROM_SOURCE: true + reactnative-visionos: + <<: *defaults + resource_class: macos.m1.medium.gen1 + macos: + xcode: '15.2' + environment: + - RCT_BUILD_HERMES_FROM_SOURCE: true diff --git a/.circleci/configurations/jobs.yml b/.circleci/configurations/jobs.yml index 6ff83f892f9446..4eddadb0b13085 100644 --- a/.circleci/configurations/jobs.yml +++ b/.circleci/configurations/jobs.yml @@ -360,7 +360,7 @@ jobs: command: | REPO_ROOT=$(pwd) node ./scripts/releases/update-template-package.js "{\"react-native\":\"file:$REPO_ROOT/build/$(cat build/react-native-package-version)\"}" - node ./scripts/e2e/init-template-e2e.js --projectName $PROJECT_NAME --templatePath "$REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME" --verbose + node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath "$REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME" - with_gradle_cache: steps: - run: @@ -458,7 +458,7 @@ jobs: PACKAGE=$(cat build/react-native-package-version) PATH_TO_PACKAGE="$REPO_ROOT/build/$PACKAGE" node ./scripts/releases/update-template-package.js "{\"react-native\":\"file:$PATH_TO_PACKAGE\"}" - node ./scripts/e2e/init-template-e2e.js --projectName $PROJECT_NAME --templatePath "$REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME" --verbose + node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath "$REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME" - with_xcodebuild_cache: podfile_lock_path: << parameters.podfile_lock_path >> pods_build_folder: << parameters.pods_build_folder >> @@ -590,6 +590,74 @@ jobs: steps: - run_ios_tests + # ------------------------- + # JOBS: Test visionOS RNTester + # ------------------------- + test_visionos_rntester: + + parameters: + jsengine: + default: "JSC" + description: Which JavaScript engine to use. Must be one of "Hermes", "JSC". + type: enum + enum: ["Hermes", "JSC"] + architecture: + default: "OldArch" + description: Which React Native architecture to use. Must be one of "OldArch", "NewArch". + type: enum + enum: ["NewArch", "OldArch"] + use_frameworks: + default: "StaticLibraries" + description: The dependency building and linking strategy to use. Must be one of "StaticLibraries", "DynamicFrameworks" + type: enum + enum: ["StaticLibraries", "DynamicFrameworks"] + ruby_version: + default: "2.6.10" + description: The version of ruby that must be used + type: string + run_unit_tests: + description: whether unit tests should run or not. + default: false + type: boolean + executor: + description: The executor to use + default: reactnative-visionos + type: string + executor: << parameters.executor >> + steps: + - checkout_code_with_cache + - run_yarn + - setup_ruby: + ruby_version: << parameters.ruby_version >> + - with_xcodebuild_cache: + steps: + - run: + name: "Install pods" + command: | + if [[ << parameters.architecture >> == "NewArch" ]]; then + export RCT_NEW_ARCH_ENABLED=1 + fi + + if [[ << parameters.jsengine >> == "JSC" ]]; then + export USE_HERMES=0 + fi + + if [[ << parameters.use_frameworks >> == "DynamicFrameworks" ]]; then + export USE_FRAMEWORKS=dynamic + fi + + cd packages/rn-tester + + bundle install + bundle exec pod install + - run: + name: "Build rn-tester" + command: | + xcodebuild build \ + -workspace packages/rn-tester/RNTesterPods.xcworkspace \ + -scheme RNTester-visionOS \ + -sdk xrsimulator + # ------------------------- # JOBS: Build Hermes # ------------------------- @@ -1286,4 +1354,4 @@ jobs: command: echo "//registry.npmjs.org/:_authToken=${CIRCLE_NPM_TOKEN}" > ~/.npmrc - run: name: Find and publish all bumped packages - command: node ./scripts/releases-ci/publish-updated-packages.js + command: node ./scripts/monorepo/find-and-publish-all-bumped-packages.js diff --git a/.circleci/configurations/test_workflows/testAll.yml b/.circleci/configurations/test_workflows/testAll.yml index a52e5aab29f44a..f412fbf488b67c 100644 --- a/.circleci/configurations/test_workflows/testAll.yml +++ b/.circleci/configurations/test_workflows/testAll.yml @@ -11,8 +11,8 @@ tag: test dry_run: true - prepare_hermes_workspace - - build_android: - release_type: "dry-run" + # - build_android: + # release_type: "dry-run" - build_hermesc_linux: requires: - prepare_hermes_workspace @@ -39,21 +39,21 @@ # Build a release package on every untagged commit, but do not publish to npm. release_type: "dry-run" requires: - - build_android + # - build_android - build_hermesc_linux - build_hermes_macos - build_hermesc_windows - - test_android: - requires: - - build_android - - test_android_template: - requires: - - build_npm_package - matrix: - parameters: - architecture: ["NewArch", "OldArch"] - jsengine: ["Hermes", "JSC"] - flavor: ["Debug", "Release"] + # - test_android: + # requires: + # - build_android + # - test_android_template: + # requires: + # - build_npm_package + # matrix: + # parameters: + # architecture: ["NewArch", "OldArch"] + # jsengine: ["Hermes", "JSC"] + # flavor: ["Debug", "Release"] - test_ios_template: requires: - build_npm_package diff --git a/.circleci/configurations/test_workflows/testAndroid.yml b/.circleci/configurations/test_workflows/testAndroid.yml index 83a1d0e36c99c9..3613a212693cf0 100644 --- a/.circleci/configurations/test_workflows/testAndroid.yml +++ b/.circleci/configurations/test_workflows/testAndroid.yml @@ -1,6 +1,7 @@ tests_android: when: and: + - equal: [ true, false ] # Disable for visionOS - equal: [ false, << pipeline.parameters.run_release_workflow >> ] - equal: [ false, << pipeline.parameters.run_nightly_workflow >> ] jobs: diff --git a/.circleci/configurations/test_workflows/testE2E.yml b/.circleci/configurations/test_workflows/testE2E.yml index 998abf796ffe8c..6f0704a514cf0d 100644 --- a/.circleci/configurations/test_workflows/testE2E.yml +++ b/.circleci/configurations/test_workflows/testE2E.yml @@ -1,6 +1,7 @@ tests_e2e: when: and: + - equal: [ true, false ] # Disable for visionOS - equal: [ false, << pipeline.parameters.run_release_workflow >> ] - equal: [ false, << pipeline.parameters.run_nightly_workflow >> ] jobs: diff --git a/.circleci/configurations/test_workflows/testIOS.yml b/.circleci/configurations/test_workflows/testIOS.yml index a877f050813c62..f9b7c5d38e0c50 100644 --- a/.circleci/configurations/test_workflows/testIOS.yml +++ b/.circleci/configurations/test_workflows/testIOS.yml @@ -1,6 +1,7 @@ test_ios: when: and: + - equal: [ true, false ] # Disable for visionOS - equal: [ false, << pipeline.parameters.run_release_workflow >> ] - equal: [ false, << pipeline.parameters.run_nightly_workflow >> ] jobs: diff --git a/.circleci/configurations/test_workflows/testVisionOS.yml b/.circleci/configurations/test_workflows/testVisionOS.yml new file mode 100644 index 00000000000000..37f3fd3f6a9c9d --- /dev/null +++ b/.circleci/configurations/test_workflows/testVisionOS.yml @@ -0,0 +1,6 @@ + test_visionos: + jobs: + - test_visionos_rntester: + matrix: + parameters: + architecture: ["OldArch", "NewArch"] diff --git a/.circleci/configurations/top_level.yml b/.circleci/configurations/top_level.yml index a5eb49cb305522..09f793ad2ec967 100644 --- a/.circleci/configurations/top_level.yml +++ b/.circleci/configurations/top_level.yml @@ -59,7 +59,7 @@ references: # Dependency Anchors # ------------------------- dependency_versions: - xcode_version: &xcode_version "15.0.1" + xcode_version: &xcode_version "15.2" nodelts_image: &nodelts_image "cimg/node:20.2.0" nodeprevlts_image: &nodeprevlts_image "cimg/node:18.12.1" nodelts_browser_image: &nodelts_browser_image "cimg/node:20.2.0-browsers" @@ -74,25 +74,25 @@ references: gems_cache_key: &gems_cache_key v1-gems-{{ checksum "Gemfile.lock" }} gradle_cache_key: &gradle_cache_key v3-gradle-{{ .Environment.CIRCLE_JOB }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "packages/react-native/ReactAndroid/gradle.properties" }} yarn_cache_key: &yarn_cache_key v6-yarn-cache-{{ .Environment.CIRCLE_JOB }} - rbenv_cache_key: &rbenv_cache_key v1-rbenv-{{ checksum "/tmp/required_ruby" }} - hermes_workspace_cache_key: &hermes_workspace_cache_key v5-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }} - hermes_workspace_debug_cache_key: &hermes_workspace_debug_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} - hermes_workspace_release_cache_key: &hermes_workspace_release_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} - hermes_linux_cache_key: &hermes_linux_cache_key v1-hermes-{{ .Environment.CIRCLE_JOB }}-linux-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} - hermes_windows_cache_key: &hermes_windows_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-windows-{{ checksum "/Users/circleci/project/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + rbenv_cache_key: &rbenv_cache_key v2-rbenv-{{ checksum "/tmp/required_ruby" }} + hermes_workspace_cache_key: &hermes_workspace_cache_key v7-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }} + hermes_workspace_debug_cache_key: &hermes_workspace_debug_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} + hermes_workspace_release_cache_key: &hermes_workspace_release_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} + hermes_linux_cache_key: &hermes_linux_cache_key v1-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-linux-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermes_windows_cache_key: &hermes_windows_cache_key v2-visionos-hermes-{{ .Environment.CIRCLE_JOB }}-windows-{{ checksum "/Users/circleci/project/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} # Hermes iOS - hermesc_apple_cache_key: &hermesc_apple_cache_key v3-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} - hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v7-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} - hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v5-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} - hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v4-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} - hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v4-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} - hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v2-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} - hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v2-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} - hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v2-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermesc_apple_cache_key: &hermesc_apple_cache_key v4-visionos-hermesc-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermes_apple_slices_cache_key: &hermes_apple_slices_cache_key v4-visionos-hermes-apple-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} + hermes_tarball_debug_cache_key: &hermes_tarball_debug_cache_key v7-visionos-hermes-tarball-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} + hermes_tarball_release_cache_key: &hermes_tarball_release_cache_key v4-visionos-hermes-tarball-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}-{{ checksum "packages/react-native/sdks/hermes-engine/utils/build-apple-framework.sh" }} + hermes_macosx_bin_release_cache_key: &hermes_macosx_bin_release_cache_key v2-visionos-hermes-release-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermes_macosx_bin_debug_cache_key: &hermes_macosx_bin_debug_cache_key v2-visionos-hermes-debug-macosx-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermes_dsym_debug_cache_key: &hermes_dsym_debug_cache_key v2-visionos-hermes-debug-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} + hermes_dsym_release_cache_key: &hermes_dsym_release_cache_key v2-visionos-hermes-release-dsym-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }} # Cocoapods - RNTester - pods_cache_key: &pods_cache_key v11-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }} - cocoapods_cache_key: &cocoapods_cache_key v11-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }} - rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v10-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }}-{{ checksum "/tmp/hermes/hermesversion" }} + pods_cache_key: &pods_cache_key v11-visionos-pods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock.bak" }}-{{ checksum "packages/rn-tester/Podfile" }} + cocoapods_cache_key: &cocoapods_cache_key v11-visionos-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile.lock" }}-{{ checksum "packages/rn-tester/Podfile" }} + rntester_podfile_lock_cache_key: &rntester_podfile_lock_cache_key v9-visionos-podfilelock-{{ .Environment.CIRCLE_JOB }}-{{ checksum "packages/rn-tester/Podfile" }}-{{ checksum "/tmp/week_year" }} # Cocoapods - Template template_cocoapods_cache_key: &template_cocoapods_cache_key v6-cocoapods-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile.lock" }}-{{ checksum "/tmp/iOSTemplateProject/ios/Podfile" }}-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "packages/rn-tester/Podfile.lock" }} diff --git a/.circleci/configurations/workflows.yml b/.circleci/configurations/workflows.yml index e74f8ce39cd132..7bd1cf32c7bc34 100644 --- a/.circleci/configurations/workflows.yml +++ b/.circleci/configurations/workflows.yml @@ -128,6 +128,7 @@ workflows: publish_bumped_packages: when: and: + - equal: [ 'https://github.com/facebook/react-native', << pipeline.project.git_url >> ] - equal: [ false, << pipeline.parameters.run_release_workflow >> ] - equal: [ false, << pipeline.parameters.run_nightly_workflow >> ] jobs: diff --git a/.github/workflows/ios-tests.yml b/.github/workflows/ios-tests.yml index a8ccb3cbf49282..02ec0facb643d7 100644 --- a/.github/workflows/ios-tests.yml +++ b/.github/workflows/ios-tests.yml @@ -1,12 +1,18 @@ name: ios-tests + +# on: +# push: +# branches: +# - main +# pull_request: +# branches: +# - "*" + +# For visionOS we run iOS tests every night on: - push: - branches: - - main - pull_request: - branches: - - "*" + schedule: + - cron: '0 0 * * *' jobs: test_ios_rntester-Hermes: diff --git a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj index 332e2bbd762aff..7967206d473727 100644 --- a/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj +++ b/packages/rn-tester/RNTesterPods.xcodeproj/project.pbxproj @@ -1050,7 +1050,6 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_ASSET_PATHS = "\"RNTester-visionOS/Preview Content\""; @@ -1149,7 +1148,6 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; diff --git a/scripts/circleci/pipeline_selection.js b/scripts/circleci/pipeline_selection.js index 5312caa03f6dc6..a6d90fbacb211d 100644 --- a/scripts/circleci/pipeline_selection.js +++ b/scripts/circleci/pipeline_selection.js @@ -155,6 +155,24 @@ function _computeAndSavePipelineParameters( return; } + // Custom config for visionOS + if (pipelineType === 'VISION_OS') { + const params = { + run_all: false, + run_ios: false, + run_visionos: true, + run_android: false, + run_js: true, + run_e2e: false, + }; + + const stringifiedParams = JSON.stringify(params, null, 2); + fs.writeFileSync(filePath, stringifiedParams); + console.info(`Generated params:\n${stringifiedParams}`); + + return; + } + console.log(`Should run e2e? ${shouldRunE2E}`); if (pipelineType === 'ALL') { fs.writeFileSync( @@ -167,6 +185,7 @@ function _computeAndSavePipelineParameters( const params = { run_all: false, run_ios: pipelineType === 'RUN_IOS', + run_visionos: true, run_android: pipelineType === 'RUN_ANDROID', run_js: pipelineType === 'RUN_JS', run_e2e: shouldRunE2E, @@ -194,6 +213,7 @@ function createConfigs(inputPath, outputPath, configFile) { const baseFolder = 'test_workflows'; const testConfigs = { run_ios: ['testIOS.yml'], + run_visionos: ['testVisionOS.yml'], run_android: ['testAndroid.yml'], run_e2e: ['testE2E.yml'], run_all: ['testJS.yml', 'testAll.yml'], @@ -243,5 +263,5 @@ function filterJobs(outputPath) { return; } } - _computeAndSavePipelineParameters('ALL', outputPath, shouldRunE2E); + _computeAndSavePipelineParameters('VISION_OS', outputPath, shouldRunE2E); }