Skip to content

Commit

Permalink
fix: CI jobs for ios/android e2e-tests
Browse files Browse the repository at this point in the history
Signed-off-by: clegirar <clemntgirard@gmail.com>
  • Loading branch information
clegirar committed Jan 18, 2023
1 parent bade74a commit 9e500eb
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 8 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: e2e-tests
on:
push:
tags:
- v*
branches:
- master
paths:
- "go/**"
- "!go/**.md"
- "go.*"
- "**.go"
- "js/**"
- ".github/workflows/ios.yml"
pull_request:
paths:
- "go/**"
- "!go/**.md"
- "go.*"
- "**.go"
- "js/**"
- "!js/packages/i18n/locale/*/*.json"
- ".github/workflows/ios.yml"
workflow_run:
workflows: ["Android", "iOS"]
types:
- completed
jobs:
mac_runner_matrix_builder:
name: macOS matrix builder
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: Generate runner matrix (optimized)
id: set-matrix
run: |
# usage: node .github/workflows/mac-runner-matrix-builder.js STRATEGY
#
# STRATEGY
# self-hosted pick the self-hosted runner configuration
# github pick the github runner configuration
# optimized pick a dc4 runner if available or fallback on github one
#
node .github/workflows/utils/mac-runner-matrix-builder.js optimized
build:
needs: mac_runner_matrix_builder
name: e2e-tests
runs-on: ${{ matrix.runner }}
env:
E2E_TESTING_IOS_DEVICE: iPhone 11
E2E_TESTING_IOS_VERSION: 15.5
CACHE_DIRS: js/android/.gomobile-cache; js/ios/.gomobile-cache; js/ios/.xcodegen-cache
strategy:
fail-fast: false
matrix: ${{fromJson(needs.mac_runner_matrix_builder.outputs.matrix)}}
steps:
- name: Run e2e-tests
working-directory: js
run: |
make e2e-tests.ci-flow
7 changes: 1 addition & 6 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,16 +219,11 @@ jobs:
working-directory: js
run: GOMOBILE_IOS_TARGET=iossimulator make ios.gomobile

- name: Build the app for e2e testing
- name: Build iOS app for e2e testing
working-directory: js/ios
run: |
xcodebuild \
-workspace Berty.xcworkspace \
-configuration "AppStore Release" \
-scheme "Berty AppStore" \
-destination "name=$E2E_TESTING_IOS_DEVICE"
- name: Run e2e-tests
working-directory: js
run: |
make e2e-tests.ci-flow
5 changes: 3 additions & 2 deletions js/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ YOLO_SUFFIX ?= Yolo
E2E_TESTING_IOS_DEVICE ?= iPhone 11
E2E_TESTING_IOS_VERSION ?= 15.5
E2E_GET_IOS_APP ?= $(shell ls -ladt1 "$(HOME)/Library/Developer/Xcode/DerivedData/"*"/Build/Products/AppStore Release-iphonesimulator/Berty.app" | head -n 1)

E2E_GET_ANDROID_APP ?= $(shell ls -ladt1 "$(HOME)/.android/app/build/outputs/apk/debug/app-x86-debug.apk")
## Internal variables

rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
Expand Down Expand Up @@ -92,6 +92,7 @@ e2e-tests.tests:
IOS_DEVICE="$(E2E_TESTING_IOS_DEVICE)" \
IOS_APP="$(if $(IOS_APP),$(IOS_APP),$(E2E_GET_IOS_APP))" \
IOS_VERSION="$(E2E_TESTING_IOS_VERSION)" \
ANDROID_APP="$(if $(ANDROID_APP),$(ANDROID_APP),$(E2E_GET_ANDROID_APP))" \
cd e2e-tests && npm test

.PHONY: e2e-tests.ci-flow
Expand All @@ -100,7 +101,7 @@ e2e-tests.ci-flow: e2e-tests/node_modules
npx concurrently --kill-others -n server,tests -s 'command-tests' 'make e2e-tests.server' 'sleep 10; make e2e-tests.tests'

.PHONY: test
test: node_modules
test: node_modules e2e-tests/node_modules
$(call check-program, yarn)
yarn test --coverage

Expand Down

0 comments on commit 9e500eb

Please sign in to comment.