Skip to content

Commit

Permalink
kn/new repo structure (realm#1495)
Browse files Browse the repository at this point in the history
* Move files and submodules around, and get dart test running again

* Fix CI generator tests

* Fix CI native build

* Fix CI flutter tests

* Fix CI baas deploy

* Fix CI dart tests

* Fix CI baas terminate

* *sigh*

* *sigh* even more

* slightly speculative..

* that should fix android tests..

* Doh!

* Update sym-links to README, etc.

* Fix podspec stuff

* Don't include headers in iOS builds

* Drop iOS symlink

* Drop empty Assets dir

* Tweak cash key

* binary dir moved

* Fail, if no artifacts stored

* Fetch to new path

* Cleanup .gitignore hierarchy

* Remove plaform specific files for integration tests and flutter example

* Update cSpell words

* Drop ffigen project and just add a ffigen.yaml file to parent

* Update Run ffigen on ci

* Update ffi plugin symlinks

* Update prepare and release workflows

* Tweak build caching

* One android symlink to rule them all

* Remove redundant include paths from ios podspec

* cleanup symlink removal

* update local .gitignore
  • Loading branch information
nielsenko authored Feb 7, 2024
1 parent a013fe0 commit a2d5263
Show file tree
Hide file tree
Showing 641 changed files with 505 additions and 5,121 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/binary-combine-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,28 @@ jobs:
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-android-x86
path: binary/android
path: packages/realm_dart/binary/android
- name: Fetch x86_64 build
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-android-x86_64
path: binary/android
path: packages/realm_dart/binary/android
- name: Fetch armeabi-v7a build
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-android-armeabi-v7a
path: binary/android
path: packages/realm_dart/binary/android
- name: Fetch arm64-v8a build
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-android-arm64-v8a
path: binary/android
path: packages/realm_dart/binary/android

- name: Store combined artifact
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: librealm-android
path: binary/android
path: packages/realm_dart/binary/android
retention-days: 1

- name: Delete individual build artifacts
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/build-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ on:
jobs:
build-native:
runs-on: ${{ inputs.runner }}
defaults:
run:
working-directory: packages/realm_dart
name: Build native
timeout-minutes: 60
strategy:
Expand All @@ -36,8 +39,9 @@ jobs:
if: ${{ !contains(github.head_ref, 'release/') }}
uses: actions/cache@v3
with:
path: ./binary/**
key: binaries-${{ matrix.build }}-{{ inputs.runner }}-${{hashFiles('./src/**')}}
path: ./packages/realm_dart/binary/**
key: binaries-${{ matrix.build }}-${{ inputs.runner }}-${{hashFiles('./packages/realm_dart/src/**')}}


- name: Setup Ninja
if: contains(github.head_ref, 'release/') || steps.check-cache.outputs.cache-hit != 'true'
Expand All @@ -61,5 +65,6 @@ jobs:
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: librealm-${{ matrix.build }}
path: binary/${{ inputs.binary }}/**
path: packages/realm_dart/binary/${{ inputs.binary }}/**
retention-days: 1
if-no-files-found: error
44 changes: 26 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,9 @@ jobs:
env:
BAAS_DIFFERENTIATOR: fi${{ github.run_id }}${{ github.run_attempt }}
BAAS_BAASAAS_API_KEY: ${{ secrets.BAASAAS_API_KEY}}
defaults:
run:
working-directory: packages/realm/tests

steps:
- name: Checkout
Expand All @@ -302,7 +305,7 @@ jobs:
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-ios
path: binary/ios
path: packages/realm_dart/binary/ios

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -326,7 +329,6 @@ jobs:
--dart-define=BAAS_DIFFERENTIATOR=$BAAS_DIFFERENTIATOR \
--file-reporter=json:test-results.json \
--suppress-analytics
working-directory: ./flutter/realm_flutter/tests
- name: Publish Test Report
uses: dorny/[email protected]
Expand All @@ -336,7 +338,7 @@ jobs:
path: test-results.json
reporter: dart-json
only-summary: true
working-directory: ./flutter/realm_flutter/tests
working-directory: packages/realm/tests

cleanup-cluster-flutter-ios:
name: Cleanup Cluster for Flutter iOS
Expand Down Expand Up @@ -365,6 +367,9 @@ jobs:
env:
BAAS_DIFFERENTIATOR: fa${{ github.run_id }}${{ github.run_attempt }}
BAAS_BAASAAS_API_KEY: ${{ secrets.BAASAAS_API_KEY}}
defaults:
run:
working-directory: packages/realm/tests

steps:
- name: Checkout
Expand All @@ -391,7 +396,7 @@ jobs:
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-android
path: binary/android
path: packages/realm_dart/binary/android

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand Down Expand Up @@ -434,8 +439,7 @@ jobs:
ndk: 21.0.6113669
arch: x86
cmake: 3.10.2.4988404
script: flutter test integration_test/all_tests.dart --dart-define=BAAS_BAASAAS_API_KEY=$BAAS_BAASAAS_API_KEY --dart-define=BAAS_DIFFERENTIATOR=$BAAS_DIFFERENTIATOR --file-reporter=json:test-results.json --suppress-analytics
working-directory: ./flutter/realm_flutter/tests
script: cd packages/realm/tests && flutter test integration_test/all_tests.dart --dart-define=BAAS_BAASAAS_API_KEY=$BAAS_BAASAAS_API_KEY --dart-define=BAAS_DIFFERENTIATOR=$BAAS_DIFFERENTIATOR --file-reporter=json:test-results.json --suppress-analytics

- name: Publish Test Report
uses: dorny/[email protected]
Expand All @@ -445,7 +449,8 @@ jobs:
path: test-results.json
reporter: dart-json
only-summary: true
working-directory: ./flutter/realm_flutter/tests
working-directory: packages/realm/tests


cleanup-cluster-flutter-android:
name: Cleanup Cluster for Flutter Android
Expand Down Expand Up @@ -480,33 +485,36 @@ jobs:
channel: 'stable'

- name: Delete generated files
run: find . -name "*.g.dart" -not -path "./generator/*" -delete
run: find . -name "*.g.dart" -delete
shell: bash

- name: Run generator in realm-dart repo
- name: Run generator in realm_dart
run: |
dart pub get
dart run build_runner build --delete-conflicting-outputs
working-directory: packages/realm_dart

- name: Run generator in realm-dart/example
- name: Run generator in realm_dart/example
run: |
dart pub get
dart run build_runner build --delete-conflicting-outputs
working-directory: ./example/
working-directory: packages/realm_dart/example

- name: Run generator in realm_flutter/example
- name: Run generator in realm/example
run: |
dart pub get
dart run build_runner build --delete-conflicting-outputs
working-directory: ./flutter/realm_flutter/example/
working-directory: packages/realm/example

- name: Install LLVM
run: sudo apt update && sudo apt-get install -y libclang-dev
if: ${{ matrix.os == 'ubuntu' }}

- name: Run ffigen
run: dart run ffigen --config config.yaml
working-directory: ./ffigen
run: >-
dart pub global activate ffigen &&
dart pub global run ffigen --config ffigen.yaml
working-directory: packages/realm_dart/

- name: Validate there are no uncommitted changes
run: |
Expand All @@ -521,7 +529,7 @@ jobs:
run: |
dart pub get
dart test -r expanded --coverage ./coverage/ --test-randomize-ordering-seed random
working-directory: ./generator/
working-directory: packages/realm_generator

- name: Generate generator coverage report
if: matrix.os == 'ubuntu'
Expand All @@ -533,7 +541,7 @@ jobs:
--lcov \
--packages .dart_tool/package_config.json \
--report-on lib
working-directory: ./generator/
working-directory: packages/realm_generator

- name: Publish Generator Coverage
if: matrix.os == 'ubuntu'
Expand All @@ -542,7 +550,7 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: generator
path-to-lcov: ./generator/coverage/lcov.info
path-to-lcov: packages/realm_generator/coverage/lcov.info
parallel: true

- name: Output Coveralls response
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/dart-desktop-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ jobs:
runs-on: ${{ inputs.runner }}
name: Dart tests on ${{inputs.os }} ${{ inputs.architecture }}
timeout-minutes: 45
defaults:
run:
working-directory: packages/realm_dart

steps:
- name: Checkout
Expand All @@ -44,7 +47,7 @@ jobs:
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-${{ inputs.os }}
path: binary/${{ inputs.os }}
path: packages/realm_dart/binary/${{ inputs.os }}

- name : Setup Dart SDK
uses: dart-lang/setup-dart@main
Expand All @@ -70,6 +73,7 @@ jobs:
path: test-results.json
reporter: dart-json
only-summary: true
working-directory: packages/realm_dart

# we're pruning generated files, the cli folder, as well as realm_bindings.dart from our coverage reports
- name: Generate realm_dart coverage report
Expand All @@ -92,7 +96,7 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: realm_dart
path-to-lcov: ./coverage/pruned-lcov.info
path-to-lcov: packages/realm_dart/coverage/pruned-lcov.info
parallel: true

- name: Output Coveralls response
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/deploy-baas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ env:
jobs:
deploy-baas:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/realm_dart
name: Deploy BaaS
timeout-minutes: 15
steps:
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/flutter-desktop-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ jobs:
env:
BAAS_BAASAAS_API_KEY: ${{ secrets.BAASAAS_API_KEY}}
BAAS_DIFFERENTIATOR: ${{ inputs.differentiator }}
defaults:
run:
working-directory: packages/realm/tests

steps:

Expand All @@ -53,7 +56,7 @@ jobs:
uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7
with:
name: librealm-${{ inputs.os }}
path: binary/${{ inputs.os }}
path: packages/realm_dart/binary/${{ inputs.os }}

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand Down Expand Up @@ -81,7 +84,7 @@ jobs:
--file-reporter=json:test-results.json \
--suppress-analytics
shell: bash
working-directory: ./flutter/realm_flutter/tests
working-directory: packages/realm/tests

- name: Publish Test Report
uses: dorny/[email protected]
Expand All @@ -91,4 +94,4 @@ jobs:
path: test-results.json
reporter: dart-json
only-summary: true
working-directory: ./flutter/realm_flutter/tests
working-directory: packages/realm/tests
8 changes: 4 additions & 4 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
with:
find: "const libraryVersion = '[^']*';"
replace: "const libraryVersion = '${{ steps.update-changelog.outputs.new-version }}';"
include: 'lib/src/native/realm_core.dart'
include: 'package/realm_dart/lib/src/native/realm_core.dart'

- name: Make sure we updated libraryVersion in realm_core.dart
run: |
Expand All @@ -62,7 +62,7 @@ jobs:
with:
find: 'RLM_API const char\* realm_dart_library_version\(\) \{ return "[^"]*"; \}'
replace: 'RLM_API const char* realm_dart_library_version() { return "${{ steps.update-changelog.outputs.new-version }}"; }'
include: 'src/realm_dart.cpp'
include: 'package/realm_dart/src/realm_dart.cpp'

- name: Make sure we updated realm_dart_library_version in realm_dart.cpp
run: |
Expand All @@ -74,19 +74,19 @@ jobs:
- name: Read Core version
id: get-core-version
run: |
cd src/realm-core
pkgVersion=$(grep "\bVERSION=" dependencies.list | cut -d= -f2)
echo "core-version=$pkgVersion" >> $GITHUB_OUTPUT
echo "Realm Core version: $pkgVersion"
shell: bash
working-directory: package/realm_dart/src/realm-core

- name: Update realmCoreVersion in metrics_command.dart
id: update-realmCoreVersion
uses: jacobtomlinson/gha-find-replace@b76729678e8d52dadb12e0e16454a93e301a919d #! 2.0.0
with:
find: "const realmCoreVersion = '[^']*';"
replace: "const realmCoreVersion = '${{ steps.get-core-version.outputs.core-version }}';"
include: 'lib/src/cli/metrics/metrics_command.dart'
include: 'package/realm_dart/lib/src/cli/metrics/metrics_command.dart'

- name: Make sure we updated realmCoreVersion in metrics
run: |
Expand Down
Loading

0 comments on commit a2d5263

Please sign in to comment.