Skip to content

Fix for Kit Initialization & De-Initializationg. #2862

Fix for Kit Initialization & De-Initializationg.

Fix for Kit Initialization & De-Initializationg. #2862

Workflow file for this run

name: "Build and Test"
on: [ push, workflow_dispatch, pull_request ]
jobs:
instrumented-tests:
name: "Instrumented Tests"
timeout-minutes: 30
runs-on: macos-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-29
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
script: echo "Generated AVD snapshot for caching."
- name: "Run Instrumented Tests"
uses: reactivecircus/android-emulator-runner@v2.26.0
with:
api-level: 29
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: ./gradlew :android-core:cAT :android-kit-base:cAT --stacktrace
- name: "Archive Instrumented Tests Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: "instrumented-tests-results"
path: android-core/build/reports/androidTests/connected/**
instrumented-orchestrator-tests:
name: "Instrumented Orchestrator Tests"
timeout-minutes: 30
runs-on: macos-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-29
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
script: echo "Generated AVD snapshot for caching."
- name: "Run Instrumented Orchestrator Tests"
uses: reactivecircus/android-emulator-runner@v2.26.0
with:
api-level: 29
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: ./gradlew -Porchestrator=true :android-core:cAT --stacktrace
- name: "Archive Instrumented Orchestrator Tests Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: "instrumented-orchestrator-tests-results"
path: android-core/build/orchestrator/**
unit-tests:
name: "Unit Tests"
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: "Run Unit Tests"
run: ./gradlew test
- name: "Print Android Unit Tests Report"
uses: asadmansr/android-test-report-action@v1.2.0
if: always()
- name: "Archive Unit Test Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: "unit-tests-results"
path: ./**/build/reports/**
lint-checks:
name: "Lint Checks"
timeout-minutes: 15
runs-on: macos-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
with:
submodules: recursive
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: "Run Android Core SDK Lint"
run: ./gradlew lint
- name: "Archive Lint Test Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: "lint-results"
path: ./**/build/reports/**
kotlin-lint-checks:
name: "Kotlin Lint Checks"
timeout-minutes: 15
runs-on: macos-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
with:
submodules: recursive
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: "Run Android Core SDK Kotlin Lint"
run: ./gradlew ktlintCheck
- name: "Archive Kotlin Lint Test Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: "kotlin-lint-results"
path: ./**/build/reports/**
security-checks:
name: "Security Lint Checks"
uses: mparticle/mparticle-workflows/.github/workflows/security-checks.yml@main
with:
base_branch: "development"
kit-compatibility-test:
name: "Kit Compatibility Test"
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: "Checkout Branch"
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: "Install JDK 11"
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: "Get Latest Kits"
run: git submodule foreach "git rebase main"
- name: "Generate Core Release Build"
run: ./gradlew -PisRelease=true publishLocal
- name: "Run Kit-Base Release Tests and Build"
run: ./gradlew -PisRelease=true :android-kit-base:testRelease
- name: "Run Kit Release Tests and Build"
run: ./gradlew -PisRelease=true -p kits testRelease -c ../settings-kits.gradle
automerge-dependabot:
name: "Save PR Number for Dependabot Automerge"
needs: [ instrumented-tests, instrumented-orchestrator-tests, unit-tests, lint-checks, kotlin-lint-checks, kit-compatibility-test ]
uses: mParticle/mparticle-workflows/.github/workflows/dependabot-save-pr-number.yml@main