Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
75 changes: 35 additions & 40 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
version: 2.1

orbs:
rn: react-native-community/react-native@7
android: circleci/android@2.5.0
rn: react-native-community/react-native@8.0.1
android: circleci/android@3.2.0

# - rn/yarn_install
# fails with Error untarring cache: Error extracting tarball /var/folders/bq/mjrgbpkx5h1g_b22fpv0tlzc0000gn/T/cache376822577 : tmp/yarn/: Cannot extract through symlink tmp/yarn tmp/yarn/v6/: Cannot extract through symlink tmp/yarn/v6 tmp/yarn/v6/.tmp/: Cannot extract through symlink tmp/yarn/v6/.tmp tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/: Cannot extract through symlink tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel tmp/yarn/v6/npm-@babel-code-frame-7.8.3-33e25903d7481181534e12ec0a25f16b6fcf419e-integrity/node_modules/@babel/code-frame/: Cannot extract: exit status 1
Expand Down Expand Up @@ -35,8 +35,8 @@ jobs:
new_arch_ios_build_only:
executor:
name: rn/macos
xcode_version: '16.2.0'
resource_class: macos.m1.medium.gen1
xcode_version: '26.3.0'
resource_class: m4pro.medium
steps:
- checkout
- run:
Expand All @@ -52,8 +52,8 @@ jobs:
e2e_release_ios:
executor:
name: rn/macos
xcode_version: '16.2.0'
resource_class: macos.m1.medium.gen1
xcode_version: '26.3.0'
resource_class: m4pro.medium
steps:
- checkout
- run:
Expand All @@ -62,7 +62,7 @@ jobs:
HOMEBREW_NO_INSTALL_CLEANUP=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap wix/brew >/dev/null
HOMEBREW_NO_INSTALL_CLEANUP=1 HOMEBREW_NO_AUTO_UPDATE=1 brew install applesimutils >/dev/null
- rn/ios_simulator_start:
device: 'iPhone 15 Pro Max'
device: 'iPhone 17 Pro Max'
# - rn/yarn_install
- run:
command: yarn install --immutable
Expand All @@ -86,35 +86,32 @@ jobs:

e2e_release_android:
executor:
name: android/android-machine
resource-class: large
name: android/android_machine
resource_class: large
tag: default
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx4g -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false'
steps:
- checkout
- android/change-java-version:
java-version: 17
- android/change_java_version:
java_version: 17
- run:
command: avdmanager list
name: list avds
- run:
command: sdkmanager --list
name: list sdks
- android/create-avd:
avd-name: TestingAVD
system-image: system-images;android-29;default;x86
additional-args: --device pixel_6_pro
- android/create_avd:
avd_name: TestingAVD
system_image: system-images;android-29;default;x86
additional_args: --device pixel_6_pro
install: true
background: false
- android/start-emulator:
avd-name: TestingAVD
no-window: true
wait-for-emulator: true
disable-animations: true
restore-gradle-cache-post-emulator-launch: false
post-emulator-launch-assemble-command: 'pwd'
# - android/disable-animations
- android/start_emulator:
avd_name: TestingAVD
no_window: true
disable_animations: true
post_emulator_launch_assemble_command: 'pwd'
- run:
command: npm install --global yarn
name: install yarn
Expand All @@ -138,31 +135,29 @@ jobs:

new_arch_android_build_only:
executor:
name: android/android-machine
resource-class: large
name: android/android_machine
resource_class: large
tag: default
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx4g -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false'
steps:
- checkout
- android/change-java-version:
java-version: 17
- android/change_java_version:
java_version: 17
- run:
command: avdmanager list
name: list avds
- android/create-avd:
avd-name: TestingAVD
system-image: system-images;android-29;default;x86
additional-args: --device pixel_6_pro
- android/create_avd:
avd_name: TestingAVD
system_image: system-images;android-29;default;x86
additional_args: --device pixel_6_pro
install: true
background: false
- android/start-emulator:
avd-name: TestingAVD
no-window: true
wait-for-emulator: true
disable-animations: true
restore-gradle-cache-post-emulator-launch: false
post-emulator-launch-assemble-command: 'pwd'
- android/start_emulator:
avd_name: TestingAVD
no_window: true
disable_animations: true
post_emulator_launch_assemble_command: 'pwd'
- run:
command: npm install --global yarn
name: install yarn
Expand All @@ -178,8 +173,8 @@ jobs:
- run:
command: ORG_GRADLE_PROJECT_newArchEnabled=true yarn detox:android:build:release
name: build app for e2e tests
# - android/wait-for-emulator
# - android/disable-animations
# - android/wait_for_emulator
# - android/disable_animations
- store_artifacts:
path: ./artifacts

Expand Down
2 changes: 1 addition & 1 deletion .detoxrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module.exports = {
simulator: {
type: 'ios.simulator',
device: {
type: 'iPhone 15 Pro Max',
type: 'iPhone 17 Pro Max',
},
},
emulator: {
Expand Down
19 changes: 16 additions & 3 deletions example/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import {
} from 'react-native';
import DateTimePicker from '@react-native-community/datetimepicker';
import SegmentedControl from './SegmentedControl';
import {Colors} from 'react-native/Libraries/NewAppScreen';
import React, {useRef, useState} from 'react';
import {Picker} from 'react-native-windows';
import moment from 'moment-timezone';
Expand All @@ -29,6 +28,13 @@ import {
} from '@react-native-community/datetimepicker/src/constants';
import * as RNLocalize from 'react-native-localize';

const Colors = {
white: '#FFFFFF',
black: '#000000',
dark: '#333333',
lighter: '#F5F5F5',
}

const timezone = [
120,
0,
Expand Down Expand Up @@ -385,7 +391,10 @@ export const App = () => {
startOnYearSelection (android only)
</ThemedText>
<View style={{flex: 1, alignItems: 'flex-start'}}>
<Switch value={startOnYearSelection} onValueChange={setStartOnYearSelection} />
<Switch
value={startOnYearSelection}
onValueChange={setStartOnYearSelection}
/>
</View>
</View>
<View style={styles.header}>
Expand Down Expand Up @@ -487,7 +496,11 @@ export const App = () => {
setShow(true);
}
}}
title={minimumDate && maximumDate && minimumDate > maximumDate ? "undo min > max" : "set min > max (errors)"}
title={
minimumDate && maximumDate && minimumDate > maximumDate
? 'undo min > max'
: 'set min > max (errors)'
}
/>
</View>
<View style={{flexDirection: 'row', alignItems: 'center'}}>
Expand Down
27 changes: 1 addition & 26 deletions example/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,7 @@ buildscript {
allprojects {
repositories {
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url({
def searchDir = rootDir.toPath()
do {
def p = searchDir.resolve("node_modules/react-native/android")
if (p.toFile().exists()) {
return p.toRealPath().toString()
}
} while (searchDir = searchDir.getParent())
throw new GradleException("Could not find `react-native`");
}())
url "$rootDir/../../node_modules/react-native/android"
}
maven {
// All of Detox' artifacts are provided via the npm module
Expand All @@ -57,21 +47,6 @@ allprojects {
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}

// needed for release signing
androidExtension.signingConfigs {
test {
keyAlias "androiddebugkey"
keyPassword "android"
storeFile file("debug.keystore")
storePassword "android"
}
}

androidExtension.buildTypes.debug.signingConfig = androidExtension.signingConfigs.test
androidExtension.buildTypes.release.signingConfig = androidExtension.signingConfigs.test
androidExtension.testBuildType = System.getProperty('testBuildType', 'debug')
// end needed for release signing

androidExtension.sourceSets.androidTest.java.srcDirs += "$rootDir/app/src/androidTest/java"

project.dependencies {
Expand Down
2 changes: 1 addition & 1 deletion example/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Loading