Update relationships screen #1342
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: runtime bridge integration tests | |
on: | |
pull_request: | |
branches: | |
- main | |
- release/* | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
ios: | |
runs-on: imhotep | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get changed files of the enmeshed_runtime_bridge package | |
id: changed-enmeshed_runtime_bridge-files | |
uses: tj-actions/changed-files@v45 | |
with: | |
files: packages/enmeshed_runtime_bridge/** | |
- name: Start Backbone | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: docker compose -f .dev/compose.backbone.yml --env-file .dev/compose.backbone.env up -d | |
- name: "List all simulators" | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: "xcrun xctrace list devices" | |
- name: "Start Simulator" | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
# the command "xcrun simctl boot" expects a device identifier | |
# the assignment of the UDID variable consists of retrieving the ID of the simulator | |
# by extracting it from the command "xcrun xctrace list devices" | |
run: | | |
UDID=$(xcrun xctrace list devices | grep -m 1 "^iPhone" | awk '{gsub(/[()]/,""); print $NF}') | |
echo $UDID | |
if xcrun simctl boot "$UDID" 2>errorFile.txt; then | |
echo "device booted" | |
else | |
if grep -q "Unable to boot device in current state: Booted" errorFile.txt; then | |
echo "device already booted" | |
rm errorFile.txt | |
else | |
echo "device not booted" | |
cat errorFile.txt | |
rm errorFile.txt | |
exit 1 | |
fi | |
fi | |
- name: Setup Flutter SDK | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
uses: subosito/flutter-action@v2 | |
with: | |
channel: stable | |
- name: Install Dependencies | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: | | |
dart pub global activate melos | |
melos bootstrap | |
- name: Run integration tests | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: cd packages/enmeshed_runtime_bridge/integration_test_runner && flutter test integration_test/suite_test.dart --dart-define=app_baseUrl=http://localhost:8090 --dart-define=app_clientId=test --dart-define=app_clientSecret=test | |
- name: Stop Backbone | |
run: docker compose -f .dev/compose.backbone.yml --env-file .dev/compose.backbone.env down -v | |
if: always() | |
android: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get changed files of the enmeshed_runtime_bridge package | |
id: changed-enmeshed_runtime_bridge-files | |
uses: tj-actions/changed-files@v45 | |
with: | |
files: packages/enmeshed_runtime_bridge/** | |
- name: Start Backbone | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: docker compose -f .dev/compose.backbone.yml --env-file .dev/compose.backbone.env up -d | |
- name: Setup Java | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "temurin" | |
java-version: 17 | |
cache: "gradle" | |
- name: Setup Flutter SDK | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
uses: subosito/flutter-action@v2 | |
with: | |
channel: stable | |
- name: Install Dependencies | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: | | |
dart pub global activate melos | |
melos bootstrap | |
- name: Enable KVM group perms | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- name: Start emulator and run tests | |
if: steps.changed-enmeshed_runtime_bridge-files.outputs.any_changed == 'true' | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
target: playstore | |
api-level: 32 | |
force-avd-creation: false | |
avd-name: integration_test | |
disable-spellchecker: true | |
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
arch: x86_64 | |
profile: pixel | |
script: cd packages/enmeshed_runtime_bridge/integration_test_runner && adb reverse tcp:8090 tcp:8090 && flutter test integration_test/suite_test.dart --dart-define=app_baseUrl=http://localhost:8090 --dart-define=app_clientId=test --dart-define=app_clientSecret=test | |
- name: Stop Backbone | |
run: docker compose -f .dev/compose.backbone.yml --env-file .dev/compose.backbone.env down -v | |
if: always() |