Skip to content

Commit

Permalink
Merge 6fc9a9e into 3bd6396
Browse files Browse the repository at this point in the history
  • Loading branch information
desistefanova committed May 11, 2022
2 parents 3bd6396 + 6fc9a9e commit 8c23ed9
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 88 deletions.
192 changes: 107 additions & 85 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,29 @@ env:

jobs:

# Linux jobs

baas-linux:
baas_matrix:
strategy:
matrix:
package: [flutter]
platform: [linux, windows, macos, ios, android]
include:
- platform: linux
package: dart
- platform: windows
package: dart
- platform: macos
package: dart
runs-on: ubuntu-latest
name: BaaS Linux
name: BaaS ${{ matrix.platform }} for ${{ matrix.package }}
outputs:
clusterName: ${{ steps.deploy-mdb-apps.outputs.clusterName }}
dart-linux-clusterName: ${{ steps.set-output.outputs.dart-linux-clusterName }}
dart-windows-clusterName: ${{ steps.set-output.outputs.dart-windows-clusterName }}
dart-macos-clusterName: ${{ steps.set-output.outputs.dart-macos-clusterName }}
flutter-linux-clusterName: ${{ steps.set-output.outputs.flutter-linux-clusterName }}
flutter-windows-clusterName: ${{ steps.set-output.outputs.flutter-windows-clusterName }}
flutter-macos-clusterName: ${{ steps.set-output.outputs.flutter-macos-clusterName }}
flutter-ios-clusterName: ${{ steps.set-output.outputs.flutter-ios-clusterName }}
flutter-android-clusterName: ${{ steps.set-output.outputs.flutter-android-clusterName }}
timeout-minutes: 20
steps:
- name: Checkout
Expand All @@ -32,7 +48,11 @@ jobs:
projectId: ${{ secrets.ATLAS_QA_PROJECT_ID }}
apiKey: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
privateApiKey: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
differentiator: dart-linux
differentiator: dif-${{ matrix.package }}-${{ matrix.platform }}

- name: Set ${{ matrix.package }}-${{ matrix.platform }} outputs
id: set-output
run: echo '::set-output name= ${{ matrix.package }}-${{ matrix.platform }}-clusterName::${{ steps.deploy-mdb-apps.outputs.clusterName }}'

- name : Setup Dart SDK
uses: dart-lang/setup-dart@main
Expand All @@ -48,6 +68,52 @@ jobs:
--private-api-key ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }} \
--project-id ${{ secrets.ATLAS_QA_PROJECT_ID }}
print-outputs:
runs-on: ubuntu-latest
needs:
- baas_matrix
steps:
- env:
NEEDS: ${{ toJSON(needs) }}
run: echo "$NEEDS"

cleanup-matrix:
strategy:
matrix:
package: [flutter]
platform: [linux, windows, macos, ios, android]
include:
- platform: linux
package: dart
- platform: windows
package: dart
- platform: macos
package: dart
runs-on: ubuntu-latest
name: Cleanup ${{ matrix.platform }} for ${{ matrix.package }}
needs:
- tests-linux
- flutter-linux
- tests-macos
- flutter-macos
- tests-windows
- flutter-windows
- flutter-ios
- flutter-android
if: always()
timeout-minutes: 5
steps:
- uses: realm/ci-actions/mdb-realm/cleanup@fac1d6958f03d71de743305ce3ab27594efbe7b7
with:
realmUrl: ${{ secrets.REALM_QA_URL }}
atlasUrl: ${{ secrets.ATLAS_QA_URL }}
projectId: ${{ secrets.ATLAS_QA_PROJECT_ID}}
apiKey: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY}}
privateApiKey: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
differentiator: dif-${{ matrix.package }}-${{ matrix.platform }}

# Linux jobs

build-linux:
runs-on: ubuntu-latest
name: Build Linux
Expand Down Expand Up @@ -85,12 +151,12 @@ jobs:
name: Tests Linux
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas-linux.outputs.clusterName }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.dart-linux-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas-linux
- baas_matrix
- build-linux
steps:
- name: Checkout
Expand Down Expand Up @@ -120,12 +186,12 @@ jobs:
name: Flutter Tests Linux
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas-linux.outputs.clusterName }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.flutter-linux-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas-linux
- baas_matrix
- build-linux
steps:
- name: Checkout
Expand Down Expand Up @@ -162,24 +228,6 @@ jobs:
run: xvfb-run flutter drive -d linux --target=test_driver/app.dart --suppress-analytics --dart-entrypoint-args="" #--verbose #-a="Some test name"
working-directory: ./flutter/realm_flutter/tests

cleanup-linux:
runs-on: ubuntu-latest
name: Cleanup Linux
needs:
- tests-linux
- flutter-linux
if: always()
timeout-minutes: 5
steps:
- uses: realm/ci-actions/mdb-realm/cleanup@fac1d6958f03d71de743305ce3ab27594efbe7b7
with:
realmUrl: ${{ secrets.REALM_QA_URL }}
atlasUrl: ${{ secrets.ATLAS_QA_URL }}
projectId: ${{ secrets.ATLAS_QA_PROJECT_ID}}
apiKey: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY}}
privateApiKey: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
differentiator: dart-linux

# macOS jobs

build-macos:
Expand Down Expand Up @@ -227,7 +275,14 @@ jobs:
tests-macos:
runs-on: macos-latest
name: Tests macOS
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.dart-macos-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas_matrix
- build-macos
steps:
- name: Checkout
Expand Down Expand Up @@ -255,7 +310,14 @@ jobs:
flutter-macos:
runs-on: macos-latest
name: Flutter Tests macOS
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.flutter-macos-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas_matrix
- build-macos
steps:
- name: Checkout
Expand Down Expand Up @@ -285,41 +347,6 @@ jobs:
working-directory: ./flutter/realm_flutter/tests

# Windows jobs
baas-windows:
runs-on: ubuntu-latest
name: BaaS Windows
outputs:
clusterName: ${{ steps.deploy-mdb-apps.outputs.clusterName }}
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: false

- uses: realm/ci-actions/mdb-realm/deployApps@fac1d6958f03d71de743305ce3ab27594efbe7b7
id: deploy-mdb-apps
with:
realmUrl: ${{ secrets.REALM_QA_URL }}
atlasUrl: ${{ secrets.ATLAS_QA_URL }}
projectId: ${{ secrets.ATLAS_QA_PROJECT_ID }}
apiKey: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
privateApiKey: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
differentiator: dart-windows

- name : Setup Dart SDK
uses: dart-lang/setup-dart@main
with:
sdk: stable

- name: Deploy Apps
run: |
dart run realm_dart deploy-apps \
--baas-url ${{ secrets.REALM_QA_URL }} \
--atlas-cluster ${{ steps.deploy-mdb-apps.outputs.clusterName }} \
--api-key ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }} \
--private-api-key ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }} \
--project-id ${{ secrets.ATLAS_QA_PROJECT_ID }}

build-windows:
# TODO: build on windows-latest
Expand Down Expand Up @@ -358,35 +385,17 @@ jobs:
path: binary/windows/**
retention-days: 1

cleanup-windows:
runs-on: ubuntu-latest
name: Cleanup Windows
needs:
- tests-windows
- flutter-windows
if: always()
timeout-minutes: 5
steps:
- uses: realm/ci-actions/mdb-realm/cleanup@fac1d6958f03d71de743305ce3ab27594efbe7b7
with:
realmUrl: ${{ secrets.REALM_QA_URL }}
atlasUrl: ${{ secrets.ATLAS_QA_URL }}
projectId: ${{ secrets.ATLAS_QA_PROJECT_ID}}
apiKey: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY}}
privateApiKey: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
differentiator: dart-windows

tests-windows:
runs-on: windows-latest
name: Tests Windows
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas-windows.outputs.clusterName }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.dart-windows-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas-windows
- baas_matrix
- build-windows
steps:
- name: Checkout
Expand Down Expand Up @@ -418,12 +427,12 @@ jobs:
name: Flutter Tests Windows
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas-windows.outputs.clusterName }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.flutter-windows-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas-windows
- baas_matrix
- build-windows
steps:
- name: Checkout
Expand Down Expand Up @@ -501,8 +510,14 @@ jobs:
runs-on: macos-latest
name: Flutter Tests iOS
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.flutter-ios-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
REALM_USE_CCACHE: "TRUE"
needs:
- baas_matrix
- build-ios
steps:
- name: Checkout
Expand Down Expand Up @@ -579,7 +594,14 @@ jobs:
flutter-android:
runs-on: macos-latest
name: Flutter Tests Android
env:
BAAS_URL: ${{ secrets.REALM_QA_URL }}
BAAS_CLUSTER: ${{ needs.baas_matrix.outputs.flutter-android-clusterName }}
BAAS_API_KEY: ${{ secrets.ATLAS_QA_PUBLIC_API_KEY }}
BAAS_PRIVATE_API_KEY: ${{ secrets.ATLAS_QA_PRIVATE_API_KEY }}
BAAS_PROJECT_ID: ${{ secrets.ATLAS_QA_PROJECT_ID}}
needs:
- baas_matrix
- build-android
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion lib/src/cli/deployapps/baas_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class BaasClient {
await _createAppIfNotExists(result, defaultAppName);
await _createAppIfNotExists(result, "autoConfirm", confirmationType: "auto");
await _createAppIfNotExists(result, "emailConfirm", confirmationType: "email");

return result;
}

Expand Down
4 changes: 2 additions & 2 deletions test/test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Future<void> setupTests(List<String>? args) async {
setUp(() {
final path = generateRandomRealmPath();
Configuration.defaultPath = path;

addTearDown(() async {
final paths = HashSet<String>();
paths.add(path);
Expand Down Expand Up @@ -212,7 +212,7 @@ Future<void> setupBaas() async {
if (baasUrl == null) {
return;
}

final cluster = Platform.environment['BAAS_CLUSTER'];
final apiKey = Platform.environment['BAAS_API_KEY'];
final privateApiKey = Platform.environment['BAAS_PRIVATE_API_KEY'];
Expand Down

0 comments on commit 8c23ed9

Please sign in to comment.