-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ea3671f
commit 4a1a15c
Showing
7 changed files
with
270 additions
and
108 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
name: Android Build and Test | ||
on: | ||
pull_request: | ||
types: [opened, reopened] | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | ||
jobs: | ||
android-build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout the code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Setup node 16 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16' | ||
|
||
- name: Install dependencies | ||
run: | | ||
npm install | ||
cd example | ||
npm install | ||
- uses: actions/cache@v2 | ||
name: Cache node_modules | ||
with: | ||
path: example/node_modules | ||
key: ${{ runner.os }}-nodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-nodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache outter node_modules | ||
with: | ||
path: node_modules | ||
key: ${{ runner.os }}-outterNodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-outterNodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache Gradle dependencies | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} | ||
|
||
- name: Set up JDK | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'zulu' | ||
java-version: 11 | ||
|
||
- name: Build APK | ||
run: | | ||
npm run prepack | ||
cd example/android | ||
./gradlew assembleRelease | ||
mv app/build/outputs/apk/release/app-release.apk app-release-${{ github.sha }}.apk | ||
ls | ||
pwd | ||
echo ${{ github.workspace }} | ||
- name: Upload APK | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: app-release-${{ github.sha }}.apk | ||
path: example/android/app-release-${{ github.sha }}.apk | ||
|
||
android-test: | ||
runs-on: macos-latest | ||
needs: android-build | ||
strategy: | ||
matrix: | ||
api-level: [24, 25, 29, 30, 31] | ||
target: [default] | ||
|
||
steps: | ||
- name: Checkout the code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Setup node 16 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16' | ||
|
||
- uses: actions/cache@v2 | ||
name: Cache node_modules | ||
with: | ||
path: example/node_modules | ||
key: ${{ runner.os }}-nodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-nodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache outter node_modules | ||
with: | ||
path: node_modules | ||
key: ${{ runner.os }}-outterNodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-outterNodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache Gradle dependencies | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} | ||
|
||
- name: Set up JDK | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'zulu' | ||
java-version: 11 | ||
|
||
- name: Run detekt | ||
run: | | ||
cd example/android | ||
./gradlew detektCheck | ||
- name: Run unit tests | ||
run: | | ||
cd example/android | ||
./gradlew test --stacktrace | ||
- name: Instrumentation Tests | ||
uses: reactivecircus/android-emulator-runner@v2 | ||
with: | ||
api-level: ${{ matrix.api-level }} | ||
target: ${{ matrix.target }} | ||
arch: x86 | ||
profile: Nexus 6 | ||
script: | | ||
cd example/android | ||
./gradlew connectedCheck --stacktrace | ||
- name: Upload Reports | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Test-Reports | ||
path: example/android/app/build/reports | ||
if: always() |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
name: iOS Build and Test | ||
on: | ||
pull_request: | ||
types: [opened, reopened] | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
ios-install-dep: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 2.7 | ||
bundler-cache: true | ||
- name: Setup node 16 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16' | ||
- name: Install dependencies | ||
run: | | ||
npm install | ||
cd example | ||
npm install | ||
- uses: actions/cache@v2 | ||
name: Cache node_modules | ||
with: | ||
path: example/node_modules | ||
key: ${{ runner.os }}-nodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-nodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache outter node_modules | ||
with: | ||
path: node_modules | ||
key: ${{ runner.os }}-outterNodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-outterNodeModules- | ||
ios-build-test: | ||
runs-on: macos-latest | ||
needs: ios-install-dep | ||
strategy: | ||
matrix: | ||
cocoapods: ['1.10.1', '1.11.0', '1.14.3'] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up Ruby | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 2.7 | ||
bundler-cache: true | ||
- name: Install Cocoapods | ||
run: gem install cocoapods -v ${{ matrix.cocoapods }} | ||
- name: Setup node 16 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16' | ||
|
||
- uses: actions/cache@v2 | ||
name: Cache node_modules | ||
with: | ||
path: example/node_modules | ||
key: ${{ runner.os }}-nodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-nodeModules- | ||
- uses: actions/cache@v2 | ||
name: Cache outter node_modules | ||
with: | ||
path: node_modules | ||
key: ${{ runner.os }}-outterNodeModules-${{ hashFiles('package-lock.json') }}-${{ hashFiles('package.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-outterNodeModules- | ||
- name: CocoaPod Install | ||
run: | | ||
cd example/ios | ||
pod install | ||
- name: Cache Pods | ||
id: cache-pods | ||
uses: actions/cache@v2 | ||
env: | ||
cache-name: cache-pods-${{ matrix.cocoapods }} | ||
with: | ||
path: example/ios/Pods | ||
key: ${{ runner.os }}-pods-${{ env.cache-name }}-${{ hashFiles('**/Podfile.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-pods-${{ env.cache-name }}- | ||
- name: Install Pods | ||
if: steps.cache-pods.outputs.cache-hit != 'true' | ||
run: | | ||
cd example/ios | ||
pod cache clean --all | ||
pod install | ||
- name: Install xcpretty | ||
run: gem install xcpretty | ||
|
||
- name: Build | ||
run: | | ||
cd example/ios | ||
xcodebuild -workspace ImageMarkerExample.xcworkspace -scheme ImageMarkerExample -configuration Release -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 12' | xcpretty | ||
- name: Test | ||
run: | | ||
cd example/ios | ||
xcodebuild -workspace ImageMarkerExample.xcworkspace -scheme ImageMarkerExample -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 12' test | xcpretty |
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
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
Oops, something went wrong.