diff --git a/.circleci/config.yml b/.circleci/config.yml index 3f70ee4be544ed..b99eebf5ea33c5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -170,7 +170,7 @@ android_defaults: &android_defaults macos_defaults: &macos_defaults <<: *defaults macos: - xcode: "10.2.0" + xcode: "10.1.0" # ------------------------- # JOBS @@ -340,22 +340,12 @@ jobs: # Runs unit tests on iOS devices test_ios: <<: *macos_defaults - environment: - - REPORTS_DIR: "./reports" steps: - attach_workspace: at: ~/react-native - run: - name: Print Xcode environment - command: xcodebuild -version - - - run: - name: List available devices - command: instruments -s devices - - - run: - name: Boot iOS Simulator + name: Boot iPhone Simulator command: source scripts/.tests.env && xcrun simctl boot "$IOS_DEVICE" || true - restore-cache: *restore-brew-cache @@ -367,91 +357,8 @@ jobs: - save-cache: *save-brew-cache - run: - name: Start Metro packager - command: yarn start --nonPersistent --max-workers=1 || echo "Can't start packager automatically" - background: true - - - run: - name: Start WebSocket test server - command: open "./IntegrationTests/launchWebSocketServer.command" || echo "Can't start web socket server automatically" - background: true - - - run: - name: Verify RNTester can be built - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - build | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_buiild/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Wait for Metro packager - command: | - max_attempts=60 - attempt_num=1 - until curl -s http://localhost:8081/status | grep "packager-status:running" -q; do - if (( attempt_num == max_attempts )); then - echo "Packager did not respond in time. No more attempts left." - exit 1 - else - (( attempt_num++ )) - echo "Packager did not respond. Retrying for attempt number $attempt_num..." - sleep 1 - fi - done - echo "Packager is ready!" - - - run: - name: Preload the RNTesterApp bundles - command: | - curl --silent 'http://localhost:8081/RNTester/js/RNTesterApp.ios.bundle?platform=ios&dev=true' --output /dev/null - curl --silent 'http://localhost:8081/RNTester/js/RNTesterApp.ios.bundle?platform=ios&dev=true&minify=false' --output /dev/null - curl --silent 'http://localhost:8081/IntegrationTests/IntegrationTestsApp.bundle?platform=ios&dev=true' --output /dev/null - curl --silent 'http://localhost:8081/IntegrationTests/RCTRootViewIntegrationTestApp.bundle?platform=ios&dev=true' --output /dev/null - - - run: - name: Run RNTester Unit Tests - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - -only-testing:RNTesterUnitTests \ - build test | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_unit_tests/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Run RNTester Integration Tests - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - -only-testing:RNTesterIntegrationTests \ - build test | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_integration_tests/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Stop Metro packager and WebSocket test server - command: | - # kill whatever is occupying port 8081 (packager) - lsof -i tcp:8081 | awk 'NR!=1 {print $2}' | xargs kill - # kill whatever is occupying port 5555 (web socket server) - lsof -i tcp:5555 | awk 'NR!=1 {print $2}' | xargs kill + name: iOS Test Suite + command: ./scripts/objc-test-ios.sh test - run: name: iOS End-to-End Test Suite diff --git a/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m b/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m index 9874b86b9c8d6c..b1f7c204c7be53 100644 --- a/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m +++ b/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m @@ -64,9 +64,6 @@ - (void)tearDown [super tearDown]; } -/** - * TODO: t43430850: Temporarily disable testBundleURL test. - * To be re-enabled when the packager can be reliably used on Sandcastle. - (void)testBundleURL { RCTBundleURLProvider *settings = [RCTBundleURLProvider sharedSettings]; @@ -78,7 +75,6 @@ - (void)testBundleURL XCTAssertEqualObjects(URL, localhostBundleURL()); } } - */ - (void)testLocalhostURL { diff --git a/scripts/.tests.env b/scripts/.tests.env index a34b26404f31ad..d8c1d907761a92 100644 --- a/scripts/.tests.env +++ b/scripts/.tests.env @@ -17,7 +17,7 @@ export AVD_NAME="testAVD" export AVD_ABI=x86 ## IOS ## -export IOS_TARGET_OS="12.2" +export IOS_TARGET_OS="12.1" export IOS_DEVICE="iPhone 6s" export TVOS_DEVICE="Apple TV"