Skip to content

Update AGP 8.7,3, Gradle 8.9, and Braze 41.1.1 #5507

Update AGP 8.7,3, Gradle 8.9, and Braze 41.1.1

Update AGP 8.7,3, Gradle 8.9, and Braze 41.1.1 #5507

Workflow file for this run

name: "Build and Test"
on: [workflow_dispatch, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: read
checks: write
id-token: write
jobs:
# Code quality checks
trunk-check:
name: Trunk code check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 #v5.0.0
- name: Trunk Check
uses: trunk-io/trunk-action@75699af9e26881e564e9d832ef7dc3af25ec031b # v1.2.4
with:
check-mode: pull_request
pr-check-hadcoded-secrets:
name: "Check PR for hardcoded secrets"
uses: mParticle/mparticle-workflows/.github/workflows/security-hardcoded-secrets.yml@main
pr-branch-check-name:
name: "Check PR for semantic branch name"
uses: mParticle/mparticle-workflows/.github/workflows/pr-branch-check-name.yml@main
pr-title-check:
name: "Check PR for semantic title"
uses: mParticle/mparticle-workflows/.github/workflows/pr-title-check.yml@main
instrumented-core:
uses: ./.github/workflows/instrumented-tests.yml
with:
display_name: Core
gradle_command: ":android-core:cAT -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=none --info --stacktrace"
artifact_name: instrumented-core-results
artifact_path: android-core/build/reports/androidTests/connected/**
instrumented-kit-base:
uses: ./.github/workflows/instrumented-tests.yml
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3]
with:
display_name: "Kit Base Shard ${{ matrix.shard }}/4"
gradle_command: ":android-kit-base:cAT -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=none -Pandroid.testInstrumentationRunnerArguments.numShards=4 -Pandroid.testInstrumentationRunnerArguments.shardIndex=${{ matrix.shard }}"
artifact_name: "instrumented-kit-base-results-shard-${{ matrix.shard }}"
artifact_path: android-kit-base/build/reports/androidTests/connected/**
instrumented-testutils:
uses: ./.github/workflows/instrumented-tests.yml
with:
display_name: Testutils
gradle_command: ":testutils:cAT -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=none --info --stacktrace"
artifact_name: instrumented-testutils-results
artifact_path: testutils/build/reports/androidTests/connected/**
instrumented-orchestrator:
uses: ./.github/workflows/instrumented-tests.yml
with:
display_name: Orchestrator
gradle_command: "-Porchestrator=true :android-core:cAT -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=none --stacktrace"
artifact_name: instrumented-orchestrator-results
artifact_path: android-core/build/orchestrator/**
unit-tests:
name: "Unit Tests"
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v6
- name: "Install JDK 17"
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: "17"
- name: "Run Unit Tests"
run: ./gradlew test
- name: "Print Android Unit Tests Report"
uses: asadmansr/android-test-report-action@384cd31388782f4106dc4a1b37eea2ff02e0aad7 #v1.2.0
if: always()
- name: "Archive Unit Test Results"
uses: actions/upload-artifact@v7
if: always()
with:
name: "unit-tests-results"
path: ./**/build/reports/**
lint-checks:
name: "Lint Checks"
timeout-minutes: 20
runs-on: macos-latest
steps:
- name: "Checkout Branch"
uses: actions/checkout@v6
- run: echo "ORG_GRADLE_PROJECT_VERSION=$(head -n 1 VERSION)" >> $GITHUB_ENV
- run: echo "ORG_GRADLE_PROJECT_version=$(head -n 1 VERSION)" >> $GITHUB_ENV
- name: "Install JDK 17"
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: "17"
- name: "Run Android Core SDK Lint"
run: ./gradlew lint
- name: "Setup Android Kit Lint"
run: ./gradlew publishMavenPublicationToMavenLocal
- name: "Run Android Kit Lint"
run: ./gradlew -c settings-kits.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=true lint
- name: "Archive Lint Test Results"
uses: actions/upload-artifact@v7
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@v6
- run: echo "ORG_GRADLE_PROJECT_VERSION=$(head -n 1 VERSION)" >> $GITHUB_ENV
- run: echo "ORG_GRADLE_PROJECT_version=$(head -n 1 VERSION)" >> $GITHUB_ENV
- name: "Install JDK 17"
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: "17"
- name: "Run Android Core SDK Kotlin Lint"
run: ./gradlew ktlintCheck
- name: "Setup Android Kit Kotlin Lint"
run: ./gradlew publishMavenPublicationToMavenLocal
- name: "Run Android Kit Kotlin Lint"
run: ./gradlew -c settings-kits.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=true ktlintCheck
- name: "Archive Kotlin Lint Test Results"
uses: actions/upload-artifact@v7
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: main
kit-compatibility-test:
name: "Kit Compatibility Test"
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: "Checkout Branch"
uses: actions/checkout@v6
- run: echo "ORG_GRADLE_PROJECT_VERSION=$(head -n 1 VERSION)" >> $GITHUB_ENV
- run: echo "ORG_GRADLE_PROJECT_version=$(head -n 1 VERSION)" >> $GITHUB_ENV
- name: "Install JDK 17"
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: "17"
- name: "Generate Core Release Build"
run: ./gradlew publishMavenPublicationToMavenLocal
- name: "Run Kit-Base Release Tests and Build"
run: ./gradlew :android-kit-base:testRelease
- name: "Run Kit Release Tests and Build"
run: ./gradlew -p kits testRelease -c ../settings-kits.gradle -Pmparticle.kit.mparticleFromMavenLocalOnly=true
- name: "Run Isolated Kit Compatibility Tests (urbanairship)"
run: ./gradlew -Pmparticle.kit.mparticleFromMavenLocalOnly=true -p kits/urbanairship/urbanairship-20 -PisRelease=true testRelease
automerge-dependabot:
name: "Save PR Number for Dependabot Automerge"
needs:
[
instrumented-core,
instrumented-kit-base,
instrumented-testutils,
instrumented-orchestrator,
unit-tests,
lint-checks,
kotlin-lint-checks,
kit-compatibility-test,
]
uses: mParticle/mparticle-workflows/.github/workflows/dependabot-save-pr-number.yml@main
pr-notify:
if: >
github.event_name == 'pull_request' &&
github.event.pull_request.draft == false
needs:
- instrumented-core
- instrumented-kit-base
- instrumented-testutils
- instrumented-orchestrator
- unit-tests
- lint-checks
- kotlin-lint-checks
- security-checks
name: Notify GChat
uses: ROKT/rokt-workflows/.github/workflows/oss_pr_opened_notification.yml@main
secrets:
gchat_webhook: ${{ secrets.GCHAT_PRS_WEBHOOK }}