From 3ac13d562d667cd296d334065ca851e39da8c65c Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Tue, 9 May 2023 12:54:10 -0700 Subject: [PATCH 01/42] add a github action for running the android tests --- .github/workflows/androidTests.yml | 53 ++++++++++++++++++++ example/android/dev/local/docker-compose.yml | 38 ++++++++++++++ example/android/dev/local/test/Dockerfile | 6 +++ example/android/dev/local/test/script.js | 35 +++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 .github/workflows/androidTests.yml create mode 100644 example/android/dev/local/docker-compose.yml create mode 100644 example/android/dev/local/test/Dockerfile create mode 100644 example/android/dev/local/test/script.js diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml new file mode 100644 index 000000000..78c07ebc8 --- /dev/null +++ b/.github/workflows/androidTests.yml @@ -0,0 +1,53 @@ +name: Android Tests +on: + push: + branches: + - main + pull_request: + +env: + GPR_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GPR_USER: ${{ secrets.GITHUB_ACTOR }} + +defaults: + run: + working-directory: ./example/android + +jobs: + android-tests: + name: Android Tests + runs-on: macos-latest + steps: + - name: Checkout project sources + uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: '11' + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + - name: Install docker + run: | + mkdir -p ~/.docker/machine/cache + curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso + brew install docker docker-compose + - name: Start colima + run: | + # Docker engine is no longer available because of licensing + # Alternative Colima is part of the github macOS runner + colima start + # Ensure colima is configured for later user + echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV + # Verify Docker + docker ps + - name: Start local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + - name: Gradle Run Integration Tests + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: 30 + script: ./gradlew connectedCheck + - name: Stop local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file diff --git a/example/android/dev/local/docker-compose.yml b/example/android/dev/local/docker-compose.yml new file mode 100644 index 000000000..c28faaeb1 --- /dev/null +++ b/example/android/dev/local/docker-compose.yml @@ -0,0 +1,38 @@ +version: "3.8" +services: + wakunode: + image: xmtp/node-go + platform: linux/amd64 + environment: + - GOWAKU-NODEKEY=8a30dcb604b0b53627a5adc054dbf434b446628d4bd1eccc681d223f0550ce67 + command: + - --ws + - --store + - --message-db-connection-string=postgres://postgres:xmtp@db:5432/postgres?sslmode=disable + - --message-db-reader-connection-string=postgres://postgres:xmtp@db:5432/postgres?sslmode=disable + - --lightpush + - --filter + - --ws-port=9001 + - --wait-for-db=30s + - --api.authn.enable + ports: + - 9001:9001 + - 5555:5555 # http message API + - 5556:5556 # grpc message API + depends_on: + - db + healthcheck: + test: ["CMD", "lsof", "-i", ":5556"] + interval: 3s + timeout: 10s + retries: 5 + db: + image: postgres:13 + environment: + POSTGRES_PASSWORD: xmtp + js: + restart: always + depends_on: + wakunode: + condition: service_healthy + build: ./test \ No newline at end of file diff --git a/example/android/dev/local/test/Dockerfile b/example/android/dev/local/test/Dockerfile new file mode 100644 index 000000000..9f0f2b118 --- /dev/null +++ b/example/android/dev/local/test/Dockerfile @@ -0,0 +1,6 @@ +FROM node:19-alpine + +WORKDIR /code +ADD script.js script.js +RUN npm install @xmtp/xmtp-js ethers +CMD ["node", "script.js"] \ No newline at end of file diff --git a/example/android/dev/local/test/script.js b/example/android/dev/local/test/script.js new file mode 100644 index 000000000..164a446c5 --- /dev/null +++ b/example/android/dev/local/test/script.js @@ -0,0 +1,35 @@ +let Client = require("@xmtp/xmtp-js").Client; +let Wallet = require("ethers").Wallet; + +console.log("NODE VERSION", process.version); + +// 0xf4BF19Ed562651837bc11ff975472ABd239D35B5 +const keyBytes = [ + 80, 7, 53, 52, 122, 163, 75, 130, 199, 86, 216, 14, 29, 2, 255, 71, 121, 51, + 165, 3, 208, 178, 193, 207, 223, 217, 75, 247, 84, 78, 204, 3, +]; + +async function checkAll() { + const wallet = new Wallet(keyBytes); + const client = await Client.create(wallet, { + apiUrl: "http://wakunode:5555", + }); + + console.log("Listening…"); + + try { + for await (const message of await client.conversations.streamAllMessages()) { + if (message.senderAddress === wallet.address) { + continue; + } + + await message.conversation.send("HI " + message.senderAddress); + console.log(`Replied to ${message.senderAddress}`); + } + } catch (e) { + console.info(`Error:`, e); + await checkAll(); + } +} + +checkAll().then(() => console.log("Done")); \ No newline at end of file From 33e2be870d7d6e186481fb343c01b73caea17c28 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Tue, 9 May 2023 13:02:09 -0700 Subject: [PATCH 02/42] drop to api level 29 --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 78c07ebc8..cc828ba00 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -47,7 +47,7 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: - api-level: 30 + api-level: 29 script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From 1891ed19a8c868900302751f29910dd7af08b3dc Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Tue, 9 May 2023 14:14:20 -0700 Subject: [PATCH 03/42] specify the working directory --- .github/workflows/androidTests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index cc828ba00..b24c3b079 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -47,6 +47,7 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: + working-directory: ./example/android api-level: 29 script: ./gradlew connectedCheck - name: Stop local test server From 91d0f9adbdef1f63bbbafc0fdda5866d923443fb Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Tue, 9 May 2023 14:31:04 -0700 Subject: [PATCH 04/42] a few tweaks to where the action is being called --- .github/workflows/androidTests.yml | 6 +++++- example/{android => }/dev/local/docker-compose.yml | 0 example/{android => }/dev/local/test/Dockerfile | 0 example/{android => }/dev/local/test/script.js | 0 4 files changed, 5 insertions(+), 1 deletion(-) rename example/{android => }/dev/local/docker-compose.yml (100%) rename example/{android => }/dev/local/test/Dockerfile (100%) rename example/{android => }/dev/local/test/script.js (100%) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index b24c3b079..a35609b88 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -11,7 +11,7 @@ env: defaults: run: - working-directory: ./example/android + working-directory: ./example jobs: android-tests: @@ -28,6 +28,10 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 + - name: Setup Node.js + uses: actions/setup-node@v3 + - name: Install dependencies + run: npm i @react-native-community/cli-platform-android - name: Install docker run: | mkdir -p ~/.docker/machine/cache diff --git a/example/android/dev/local/docker-compose.yml b/example/dev/local/docker-compose.yml similarity index 100% rename from example/android/dev/local/docker-compose.yml rename to example/dev/local/docker-compose.yml diff --git a/example/android/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile similarity index 100% rename from example/android/dev/local/test/Dockerfile rename to example/dev/local/test/Dockerfile diff --git a/example/android/dev/local/test/script.js b/example/dev/local/test/script.js similarity index 100% rename from example/android/dev/local/test/script.js rename to example/dev/local/test/script.js From 69ff6e3dbf722f715677af87ba2cfba7173b742d Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Tue, 9 May 2023 15:04:37 -0700 Subject: [PATCH 05/42] another try --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index a35609b88..948e40097 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -31,7 +31,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 - name: Install dependencies - run: npm i @react-native-community/cli-platform-android + run: npm i @react-native-community/cli-platform-android --force - name: Install docker run: | mkdir -p ~/.docker/machine/cache From bce2a6f74dc9073db44e43ff104a9080621c546f Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 08:55:51 -0700 Subject: [PATCH 06/42] give it more time to load --- .../xmtpreactnativesdk/example/EspressoViewFinder.kt | 2 +- .../modules/xmtpreactnativesdk/example/MainActivityTest.kt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt index 7d319ccaf..c90219837 100644 --- a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt +++ b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt @@ -16,7 +16,7 @@ import java.util.concurrent.TimeoutException object EspressoViewFinder { private const val CHECK_INTERVAL = 50L - private const val TIMEOUT_MS = 10 * 1000L + private const val TIMEOUT_MS = 15 * 1000L /** * Waits for the view referenced in [viewMatcher] to become visible, with a timeout of [timeOut]. If it diff --git a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt index 8eaf3bf9b..630f27e62 100644 --- a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt +++ b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt @@ -27,6 +27,12 @@ class MainActivityTest { @Test fun testRunTests() { + try { + Thread.sleep(5000) + } catch (e: InterruptedException) { + e.printStackTrace() + } + waitForDisplayed(withContentDescription("Unit-tests")) { button -> // Go to unit tests page onView(button).perform(click()) From ce6c15fdcfa9a5415a54b0fbfc7af02a4a9a1914 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 10:25:08 -0700 Subject: [PATCH 07/42] small tweak to the github action --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 948e40097..d90d13046 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -31,7 +31,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 - name: Install dependencies - run: npm i @react-native-community/cli-platform-android --force + run: npm i --force - name: Install docker run: | mkdir -p ~/.docker/machine/cache From 0964875252feafcfbd09073486bd5272e758d344 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 10:29:34 -0700 Subject: [PATCH 08/42] another action try --- .github/workflows/androidTests.yml | 6 +++++- .../modules/xmtpreactnativesdk/example/MainActivityTest.kt | 6 ------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index d90d13046..968301f66 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -52,7 +52,11 @@ jobs: uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ./example/android - api-level: 29 + api-level: 33 + target: google_apis + arch: x86_64 + ram-size: 1024M + disk-size: 2048M script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file diff --git a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt index 630f27e62..8eaf3bf9b 100644 --- a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt +++ b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/MainActivityTest.kt @@ -27,12 +27,6 @@ class MainActivityTest { @Test fun testRunTests() { - try { - Thread.sleep(5000) - } catch (e: InterruptedException) { - e.printStackTrace() - } - waitForDisplayed(withContentDescription("Unit-tests")) { button -> // Go to unit tests page onView(button).perform(click()) From 0e17ebfdf4bb8b9219b4af64b683c65ff24ab35d Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 12:18:07 -0700 Subject: [PATCH 09/42] more github action trys --- .github/workflows/androidTests.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 968301f66..4b7cb0f6e 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -52,11 +52,12 @@ jobs: uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ./example/android - api-level: 33 - target: google_apis - arch: x86_64 - ram-size: 1024M - disk-size: 2048M + api-level: 30 + target: default + arch: x86 + profile: Nexus 6 + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + disable-animations: true script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From 23068ac12545b40e6a2f0e1b4b53bbcc7f81f375 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 13:20:13 -0700 Subject: [PATCH 10/42] try targeting 33 --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 4b7cb0f6e..961733d5f 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -52,7 +52,7 @@ jobs: uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ./example/android - api-level: 30 + api-level: 33 target: default arch: x86 profile: Nexus 6 From 8140a615c2921859bb7b9d73b650de08bb16815e Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Wed, 10 May 2023 15:25:58 -0700 Subject: [PATCH 11/42] another try on the emulator type --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 961733d5f..7012fccf6 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -53,7 +53,7 @@ jobs: with: working-directory: ./example/android api-level: 33 - target: default + target: google_apis arch: x86 profile: Nexus 6 emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none From 72834358870a18b9d93c8f7be5b16901490758e4 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Thu, 11 May 2023 08:25:52 -0700 Subject: [PATCH 12/42] is this the correct configuration --- .github/workflows/androidTests.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 7012fccf6..ea404f5d8 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -54,8 +54,9 @@ jobs: working-directory: ./example/android api-level: 33 target: google_apis - arch: x86 - profile: Nexus 6 + arch: x86_64 + ram-size: 1024M + disk-size: 2048M emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true script: ./gradlew connectedCheck From 5f60758522d4d8a5a51a1d209506896b91d9e249 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 12 May 2023 11:35:45 -0700 Subject: [PATCH 13/42] step down api level --- .github/workflows/androidTests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index ea404f5d8..394139f45 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -52,8 +52,7 @@ jobs: uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ./example/android - api-level: 33 - target: google_apis + api-level: 29 arch: x86_64 ram-size: 1024M disk-size: 2048M From 92fae7be2e9ea987c5ca230832785cf875260d54 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 12 May 2023 11:57:37 -0700 Subject: [PATCH 14/42] back to the beginning --- .github/workflows/androidTests.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 394139f45..d90d13046 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -53,11 +53,6 @@ jobs: with: working-directory: ./example/android api-level: 29 - arch: x86_64 - ram-size: 1024M - disk-size: 2048M - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - disable-animations: true script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From 3dbf97a1281d88913b35aa51d7b0d3b9ef52d091 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Fri, 12 May 2023 12:40:23 -0700 Subject: [PATCH 15/42] disable animations --- .github/workflows/androidTests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index d90d13046..3e64b9d90 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -53,6 +53,7 @@ jobs: with: working-directory: ./example/android api-level: 29 + disable-animations: true script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From ab9cc2357936ef694e536f76f962ec69bc19ee9f Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 15 May 2023 15:51:59 -0700 Subject: [PATCH 16/42] try --- .github/workflows/androidTests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 3e64b9d90..fc8f163ae 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -54,6 +54,10 @@ jobs: working-directory: ./example/android api-level: 29 disable-animations: true + force-avd-creation: false + ram-size: 4096M + emulator-boot-timeout: 12000 + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -no-snapshot-save script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From eee6a2daa994c714a66ae2c0f9af7d3784d23bf4 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 15 May 2023 17:49:32 -0700 Subject: [PATCH 17/42] magic combo --- .github/workflows/androidTests.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index fc8f163ae..0f297f5b0 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -53,11 +53,8 @@ jobs: with: working-directory: ./example/android api-level: 29 - disable-animations: true - force-avd-creation: false - ram-size: 4096M - emulator-boot-timeout: 12000 - emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -no-snapshot-save + target: google_apis + disable-animations: false script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From 763ec627a1970ceb1677c285618cbc1e0abc72bd Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Thu, 18 May 2023 14:25:18 -0700 Subject: [PATCH 18/42] run tests --- .github/workflows/androidTests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 0f297f5b0..d90d13046 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -53,8 +53,6 @@ jobs: with: working-directory: ./example/android api-level: 29 - target: google_apis - disable-animations: false script: ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file From 2dbc03efce3d1456f5012c453258e8d134b6a7ce Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 10:29:06 -0400 Subject: [PATCH 19/42] run test on this branch --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index d90d13046..23f1e3edc 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -2,7 +2,7 @@ name: Android Tests on: push: branches: - - main + - ea/testing-ci-2 pull_request: env: From 3540ec97cbd2347e0f5cf004a565157bef9a181d Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:02:30 -0400 Subject: [PATCH 20/42] try cache clean --- .github/workflows/androidTests.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 23f1e3edc..31ca9acf9 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -20,23 +20,33 @@ jobs: steps: - name: Checkout project sources uses: actions/checkout@v3 - - uses: actions/setup-java@v3 + + - name: Setup Java + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '11' + - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 + - name: Setup Node.js uses: actions/setup-node@v3 + - name: Install dependencies - run: npm i --force + run: | + npm cache clean --force + npm i --force + - name: Install docker run: | mkdir -p ~/.docker/machine/cache curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso brew install docker docker-compose + - name: Start colima run: | # Docker engine is no longer available because of licensing @@ -46,13 +56,16 @@ jobs: echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV # Verify Docker docker ps + - name: Start local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ./example/android api-level: 29 script: ./gradlew connectedCheck + - name: Stop local test server - run: docker-compose -p xmtp -f dev/local/docker-compose.yml down \ No newline at end of file + run: docker-compose -p xmtp -f dev/local/docker-compose.yml down From 2129f6132a8b5f1d4d4c3a564ed748318de2f661 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:09:35 -0400 Subject: [PATCH 21/42] force install xmtp and ethers for docker --- .github/workflows/androidTests.yml | 12 ++++++++---- example/dev/local/test/Dockerfile | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 31ca9acf9..a1c90eb7f 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -36,10 +36,11 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 + - name: Install React Native CLI + run: npm install react-native-cli + - name: Install dependencies - run: | - npm cache clean --force - npm i --force + run: npm install --force - name: Install docker run: | @@ -65,7 +66,10 @@ jobs: with: working-directory: ./example/android api-level: 29 - script: ./gradlew connectedCheck + script: | + npm run android + sleep 15 + ./gradlew connectedCheck - name: Stop local test server run: docker-compose -p xmtp -f dev/local/docker-compose.yml down diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 9f0f2b118..8fc931772 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,5 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js -RUN npm install @xmtp/xmtp-js ethers +RUN npm install @xmtp/xmtp-js ethers --force CMD ["node", "script.js"] \ No newline at end of file From 92f1d41785ab0fc0a753767762d3bf39d8b0d2c4 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:10:32 -0400 Subject: [PATCH 22/42] force install react native cli --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index a1c90eb7f..38188ea77 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -37,7 +37,7 @@ jobs: uses: actions/setup-node@v3 - name: Install React Native CLI - run: npm install react-native-cli + run: npm install react-native-cli --force - name: Install dependencies run: npm install --force From 36acf4dc937c1a9430772eb34d756283a5012cc1 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:21:54 -0400 Subject: [PATCH 23/42] cache clean npm --- example/dev/local/test/Dockerfile | 4 ++-- example/dev/local/test/script.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 8fc931772..446ccb90f 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,5 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js -RUN npm install @xmtp/xmtp-js ethers --force -CMD ["node", "script.js"] \ No newline at end of file +RUN npm cache clean --force && npm install @xmtp/xmtp-js ethers --force +CMD ["node", "script.js"] diff --git a/example/dev/local/test/script.js b/example/dev/local/test/script.js index 164a446c5..7be973c00 100644 --- a/example/dev/local/test/script.js +++ b/example/dev/local/test/script.js @@ -1,5 +1,5 @@ -let Client = require("@xmtp/xmtp-js").Client; -let Wallet = require("ethers").Wallet; +import { Client } from "@xmtp/xmtp-js"; +import { Wallet } from "ethers"; console.log("NODE VERSION", process.version); From d74594a8a9b7ce109ad7f9f4b259097c8d23f806 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:33:08 -0400 Subject: [PATCH 24/42] force install dockerfile --- example/dev/local/test/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 446ccb90f..e5292c325 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,5 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js -RUN npm cache clean --force && npm install @xmtp/xmtp-js ethers --force +RUN npm install --force CMD ["node", "script.js"] From 7bd74ad5bd57822a3ff15c85c642a6e59b5df084 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 11:43:38 -0400 Subject: [PATCH 25/42] remove docker for now --- .github/workflows/androidTests.yml | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 38188ea77..d9657ad71 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -42,24 +42,24 @@ jobs: - name: Install dependencies run: npm install --force - - name: Install docker - run: | - mkdir -p ~/.docker/machine/cache - curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso - brew install docker docker-compose + # - name: Install docker + # run: | + # mkdir -p ~/.docker/machine/cache + # curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso + # brew install docker docker-compose - - name: Start colima - run: | - # Docker engine is no longer available because of licensing - # Alternative Colima is part of the github macOS runner - colima start - # Ensure colima is configured for later user - echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV - # Verify Docker - docker ps + # - name: Start colima + # run: | + # # Docker engine is no longer available because of licensing + # # Alternative Colima is part of the github macOS runner + # colima start + # # Ensure colima is configured for later user + # echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV + # # Verify Docker + # docker ps - - name: Start local test server - run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + # - name: Start local test server + # run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 @@ -71,5 +71,5 @@ jobs: sleep 15 ./gradlew connectedCheck - - name: Stop local test server - run: docker-compose -p xmtp -f dev/local/docker-compose.yml down + # - name: Stop local test server + # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down From f5fc2d6391530030e40446853ab248f58819e41c Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 12:36:27 -0400 Subject: [PATCH 26/42] add variant release --- .github/workflows/androidTests.yml | 2 +- example/dev/local/docker-compose.yml | 3 ++- example/dev/local/test/Dockerfile | 2 +- example/dev/local/test/script.js | 6 +++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index d9657ad71..421d5595b 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -67,7 +67,7 @@ jobs: working-directory: ./example/android api-level: 29 script: | - npm run android + react-native run-android --variant=release sleep 15 ./gradlew connectedCheck diff --git a/example/dev/local/docker-compose.yml b/example/dev/local/docker-compose.yml index c28faaeb1..4d1e7fadd 100644 --- a/example/dev/local/docker-compose.yml +++ b/example/dev/local/docker-compose.yml @@ -35,4 +35,5 @@ services: depends_on: wakunode: condition: service_healthy - build: ./test \ No newline at end of file + build: ./test + \ No newline at end of file diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index e5292c325..1a6d30a62 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,5 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js -RUN npm install --force +RUN npm install @xmtp/xmtp-js ethers CMD ["node", "script.js"] diff --git a/example/dev/local/test/script.js b/example/dev/local/test/script.js index 7be973c00..8dd5c1c1d 100644 --- a/example/dev/local/test/script.js +++ b/example/dev/local/test/script.js @@ -1,5 +1,5 @@ -import { Client } from "@xmtp/xmtp-js"; -import { Wallet } from "ethers"; +let Client = require("@xmtp/xmtp-js").Client; +let Wallet = require("ethers").Wallet; console.log("NODE VERSION", process.version); @@ -32,4 +32,4 @@ async function checkAll() { } } -checkAll().then(() => console.log("Done")); \ No newline at end of file +checkAll().then(() => console.log("Done")); From 5a7f11b9293304bf50f78f0162848afde2500bd3 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 12:46:47 -0400 Subject: [PATCH 27/42] install react native cli --- .github/workflows/androidTests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 421d5595b..a7a880280 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -36,12 +36,12 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 - - name: Install React Native CLI - run: npm install react-native-cli --force - - name: Install dependencies run: npm install --force + - name: Install React Native CLI + run: npm install react-native-cli + # - name: Install docker # run: | # mkdir -p ~/.docker/machine/cache From 4b67b1d2078a803514b396bf0bcaee25c61ee4b9 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 12:52:34 -0400 Subject: [PATCH 28/42] globally install react native cli --- .github/workflows/androidTests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index a7a880280..242e7c046 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -37,10 +37,10 @@ jobs: uses: actions/setup-node@v3 - name: Install dependencies - run: npm install --force + run: npm i --force - name: Install React Native CLI - run: npm install react-native-cli + run: npm i -g react-native-cli --force # - name: Install docker # run: | From 08b31bd317d4737920597fc9c47da72a94083429 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 13:03:59 -0400 Subject: [PATCH 29/42] run-android in the example directory --- .github/workflows/androidTests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 242e7c046..add76c5c6 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -64,11 +64,12 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: - working-directory: ./example/android api-level: 29 script: | + cd example react-native run-android --variant=release sleep 15 + cd android ./gradlew connectedCheck # - name: Stop local test server From 4a78ae3ecb83f4dbd242ae208594c31c41d2c816 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 13:13:21 -0400 Subject: [PATCH 30/42] use npx --- .github/workflows/androidTests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index add76c5c6..112162b8f 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -36,12 +36,12 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 - - name: Install dependencies - run: npm i --force - - name: Install React Native CLI run: npm i -g react-native-cli --force + - name: Install dependencies + run: npm i --force + # - name: Install docker # run: | # mkdir -p ~/.docker/machine/cache @@ -67,7 +67,7 @@ jobs: api-level: 29 script: | cd example - react-native run-android --variant=release + npx react-native run-android --variant=release sleep 15 cd android ./gradlew connectedCheck From 51d66aebd7789042abba0fbd8d0e4647815d174b Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 13:39:49 -0400 Subject: [PATCH 31/42] add back working dir --- .github/workflows/androidTests.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 112162b8f..5705cac57 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -36,12 +36,12 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 - - name: Install React Native CLI - run: npm i -g react-native-cli --force - - name: Install dependencies run: npm i --force + - name: Install React Native CLI + run: npm i -g react-native-cli --force + # - name: Install docker # run: | # mkdir -p ~/.docker/machine/cache @@ -64,10 +64,10 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: + working-directory: ./example api-level: 29 script: | - cd example - npx react-native run-android --variant=release + react-native run-android --variant=release sleep 15 cd android ./gradlew connectedCheck From f8119c9519356893e710ca200735cc3d5a8507b9 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 14:22:09 -0400 Subject: [PATCH 32/42] so close. switch working directory again --- .github/workflows/androidTests.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 5705cac57..7b4416cbe 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -64,12 +64,11 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: - working-directory: ./example + working-directory: ./example/android api-level: 29 script: | - react-native run-android --variant=release + react-native run-android sleep 15 - cd android ./gradlew connectedCheck # - name: Stop local test server From 1c9f494f606507cf52aca80f7d0c472580590752 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 14:58:31 -0400 Subject: [PATCH 33/42] it needs to use the example dir --- .github/workflows/androidTests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 7b4416cbe..da708e508 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -64,12 +64,12 @@ jobs: - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 with: - working-directory: ./example/android + working-directory: ./example api-level: 29 script: | - react-native run-android + react-native run-android --variant=release sleep 15 - ./gradlew connectedCheck + ./android/gradlew connectedCheck # - name: Stop local test server # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down From 1c3c11b482a6cb253a14e488b83c6863d33cf478 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Mon, 22 May 2023 16:20:08 -0400 Subject: [PATCH 34/42] please work and change directories --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index da708e508..76e5643f1 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -69,7 +69,7 @@ jobs: script: | react-native run-android --variant=release sleep 15 - ./android/gradlew connectedCheck + cd android && ./gradlew connectedCheck # - name: Stop local test server # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down From 57918d35a8c7d7e291fc1f55e741f43e281c88bd Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 09:01:26 -0400 Subject: [PATCH 35/42] try adding package.json to dockerfile --- .github/workflows/androidTests.yml | 36 ++++++++++++++--------------- example/dev/local/test/Dockerfile | 1 + example/dev/local/test/package.json | 15 ++++++++++++ 3 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 example/dev/local/test/package.json diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 76e5643f1..1ebc7bc4e 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -42,24 +42,24 @@ jobs: - name: Install React Native CLI run: npm i -g react-native-cli --force - # - name: Install docker - # run: | - # mkdir -p ~/.docker/machine/cache - # curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso - # brew install docker docker-compose + - name: Install docker + run: | + mkdir -p ~/.docker/machine/cache + curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso + brew install docker docker-compose - # - name: Start colima - # run: | - # # Docker engine is no longer available because of licensing - # # Alternative Colima is part of the github macOS runner - # colima start - # # Ensure colima is configured for later user - # echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV - # # Verify Docker - # docker ps + - name: Start colima + run: | + # Docker engine is no longer available because of licensing + # Alternative Colima is part of the github macOS runner + colima start + # Ensure colima is configured for later user + echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV + # Verify Docker + docker ps - # - name: Start local test server - # run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + - name: Start local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 @@ -71,5 +71,5 @@ jobs: sleep 15 cd android && ./gradlew connectedCheck - # - name: Stop local test server - # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down + - name: Stop local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml down diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 1a6d30a62..0b3e96e31 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,6 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js +COPY package.json package.json RUN npm install @xmtp/xmtp-js ethers CMD ["node", "script.js"] diff --git a/example/dev/local/test/package.json b/example/dev/local/test/package.json new file mode 100644 index 000000000..72ddd5d77 --- /dev/null +++ b/example/dev/local/test/package.json @@ -0,0 +1,15 @@ +{ + "name": "local", + "version": "1.0.0", + "description": "", + "main": "index.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} From a7c02988cb3877de812d380e7225c92860de288f Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 09:28:12 -0400 Subject: [PATCH 36/42] Revert "try adding package.json to dockerfile" This reverts commit 57918d35a8c7d7e291fc1f55e741f43e281c88bd. --- .github/workflows/androidTests.yml | 36 ++++++++++++++--------------- example/dev/local/test/Dockerfile | 1 - example/dev/local/test/package.json | 15 ------------ 3 files changed, 18 insertions(+), 34 deletions(-) delete mode 100644 example/dev/local/test/package.json diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 1ebc7bc4e..76e5643f1 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -42,24 +42,24 @@ jobs: - name: Install React Native CLI run: npm i -g react-native-cli --force - - name: Install docker - run: | - mkdir -p ~/.docker/machine/cache - curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso - brew install docker docker-compose + # - name: Install docker + # run: | + # mkdir -p ~/.docker/machine/cache + # curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso + # brew install docker docker-compose - - name: Start colima - run: | - # Docker engine is no longer available because of licensing - # Alternative Colima is part of the github macOS runner - colima start - # Ensure colima is configured for later user - echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV - # Verify Docker - docker ps + # - name: Start colima + # run: | + # # Docker engine is no longer available because of licensing + # # Alternative Colima is part of the github macOS runner + # colima start + # # Ensure colima is configured for later user + # echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV + # # Verify Docker + # docker ps - - name: Start local test server - run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + # - name: Start local test server + # run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 @@ -71,5 +71,5 @@ jobs: sleep 15 cd android && ./gradlew connectedCheck - - name: Stop local test server - run: docker-compose -p xmtp -f dev/local/docker-compose.yml down + # - name: Stop local test server + # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 0b3e96e31..1a6d30a62 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,6 +2,5 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js -COPY package.json package.json RUN npm install @xmtp/xmtp-js ethers CMD ["node", "script.js"] diff --git a/example/dev/local/test/package.json b/example/dev/local/test/package.json deleted file mode 100644 index 72ddd5d77..000000000 --- a/example/dev/local/test/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "local", - "version": "1.0.0", - "description": "", - "main": "index.js", - "directories": { - "test": "test" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC" -} From 2e91522d6762ffdb1300258aef12e1d80f5091d7 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 09:34:12 -0400 Subject: [PATCH 37/42] install git in dockerfile --- example/dev/local/test/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/example/dev/local/test/Dockerfile b/example/dev/local/test/Dockerfile index 1a6d30a62..27716fe2c 100644 --- a/example/dev/local/test/Dockerfile +++ b/example/dev/local/test/Dockerfile @@ -2,5 +2,6 @@ FROM node:19-alpine WORKDIR /code ADD script.js script.js +RUN apk update && apk add git RUN npm install @xmtp/xmtp-js ethers CMD ["node", "script.js"] From fb5190d35248cd32765ddc6115d4240cdbd96637 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 09:37:30 -0400 Subject: [PATCH 38/42] add back docker steps --- .github/workflows/androidTests.yml | 38 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 76e5643f1..073b57836 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -2,7 +2,7 @@ name: Android Tests on: push: branches: - - ea/testing-ci-2 + - main pull_request: env: @@ -42,24 +42,24 @@ jobs: - name: Install React Native CLI run: npm i -g react-native-cli --force - # - name: Install docker - # run: | - # mkdir -p ~/.docker/machine/cache - # curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso - # brew install docker docker-compose + - name: Install docker + run: | + mkdir -p ~/.docker/machine/cache + curl -Lo ~/.docker/machine/cache/boot2docker.iso https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso + brew install docker docker-compose - # - name: Start colima - # run: | - # # Docker engine is no longer available because of licensing - # # Alternative Colima is part of the github macOS runner - # colima start - # # Ensure colima is configured for later user - # echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV - # # Verify Docker - # docker ps + - name: Start colima + run: | + # Docker engine is no longer available because of licensing + # Alternative Colima is part of the github macOS runner + colima start + # Ensure colima is configured for later user + echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV + # Verify Docker + docker ps - # - name: Start local test server - # run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d + - name: Start local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml up -d - name: Gradle Run Integration Tests uses: reactivecircus/android-emulator-runner@v2 @@ -71,5 +71,5 @@ jobs: sleep 15 cd android && ./gradlew connectedCheck - # - name: Stop local test server - # run: docker-compose -p xmtp -f dev/local/docker-compose.yml down + - name: Stop local test server + run: docker-compose -p xmtp -f dev/local/docker-compose.yml down From 9efa2f0309fc8c869049eb4c6c64a361b3aa3cbc Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 12:07:13 -0400 Subject: [PATCH 39/42] save changes while i investigate locally --- .github/workflows/androidTests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidTests.yml b/.github/workflows/androidTests.yml index 073b57836..0ca4a0fcc 100644 --- a/.github/workflows/androidTests.yml +++ b/.github/workflows/androidTests.yml @@ -67,7 +67,7 @@ jobs: working-directory: ./example api-level: 29 script: | - react-native run-android --variant=release + react-native run-android sleep 15 cd android && ./gradlew connectedCheck From 8278d92616d1e479ce9598fd6ca509124f550fcc Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Tue, 23 May 2023 14:02:01 -0400 Subject: [PATCH 40/42] revert view finder timeout to ten sec --- .../modules/xmtpreactnativesdk/example/EspressoViewFinder.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt index c90219837..7d319ccaf 100644 --- a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt +++ b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt @@ -16,7 +16,7 @@ import java.util.concurrent.TimeoutException object EspressoViewFinder { private const val CHECK_INTERVAL = 50L - private const val TIMEOUT_MS = 15 * 1000L + private const val TIMEOUT_MS = 10 * 1000L /** * Waits for the view referenced in [viewMatcher] to become visible, with a timeout of [timeOut]. If it From 40e002aa3f9a1e86f148d8198d73c9e448c49db2 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Wed, 24 May 2023 10:24:02 -0400 Subject: [PATCH 41/42] add android test orchestrator --- example/android/app/build.gradle | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 9febfbbb3..47332fa9a 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -124,10 +124,15 @@ android { versionName "1.0.0" // For Espresso testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - testInstrumentationRunnerArguments useTestStorageService: 'true' + testInstrumentationRunnerArgument('useTestStorageService', 'true') + // The following argument makes the Android Test Orchestrator run its + // "pm clear" command after each test invocation. This command ensures + // that the app's state is completely cleared between tests. + testInstrumentationRunnerArgument('clearPackageData', 'true') } testOptions { + execution 'ANDROIDX_TEST_ORCHESTRATOR' managedDevices { devices { // run with ../gradlew nexusOneApi30DebugAndroidTest @@ -264,6 +269,7 @@ dependencies { androidTestImplementation 'androidx.test:rules:1.5.0' androidTestImplementation "androidx.test.ext:junit-ktx:1.1.5" androidTestUtil "androidx.test.services:test-services:1.4.2" + androidTestUtil 'androidx.test:orchestrator:1.4.2' } apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); From c77bb8932f7654e30de9810bdac35ad9546eb267 Mon Sep 17 00:00:00 2001 From: Elise Alix Date: Wed, 24 May 2023 11:25:46 -0400 Subject: [PATCH 42/42] Revert "revert view finder timeout to ten sec" This reverts commit 8278d92616d1e479ce9598fd6ca509124f550fcc. --- .../modules/xmtpreactnativesdk/example/EspressoViewFinder.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt index 7d319ccaf..c90219837 100644 --- a/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt +++ b/example/android/app/src/androidTest/java/expo/modules/xmtpreactnativesdk/example/EspressoViewFinder.kt @@ -16,7 +16,7 @@ import java.util.concurrent.TimeoutException object EspressoViewFinder { private const val CHECK_INTERVAL = 50L - private const val TIMEOUT_MS = 10 * 1000L + private const val TIMEOUT_MS = 15 * 1000L /** * Waits for the view referenced in [viewMatcher] to become visible, with a timeout of [timeOut]. If it