Add initial Google Services JSON support #85
Workflow file for this run
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
name: build | |
on: | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
push: | |
branches: | |
- 'main' | |
paths-ignore: | |
- '**/*.md' | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
env: | |
CI: true | |
TERM: dumb | |
GRADLE_OPTS: >- | |
-Dorg.gradle.jvmargs="-Xmx1G -XX:MaxMetaspaceSize=768M -XX:SoftRefLRUPolicyMSPerMB=10 -XX:+UseParallelGC" | |
-Dorg.gradle.workers.max=2 | |
-Dorg.gradle.parallel=false | |
-Dorg.gradle.dependency.verification.console=verbose | |
KOTLIN_DAEMON_JVMARGS: >- | |
-Xmx512M -XX:MaxMetaspaceSize=320M -XX:SoftRefLRUPolicyMSPerMB=10 -XX:+UseParallelGC -XX:NewRatio=1 | |
permissions: | |
checks: write | |
pull-requests: write | |
jobs: | |
assemble: | |
name: Assemble, run tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
dependency-graph: generate | |
- name: Assemble debug build, run tests | |
env: | |
ORG_GRADLE_PROJECT_disableSigning: true | |
run: > | |
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}" | |
build publishAllPublicationsToTestRepository --stacktrace --scan | |
- name: Build samples | |
env: | |
ORG_GRADLE_PROJECT_disableSigning: true | |
run: > | |
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}" | |
-p samples build --stacktrace --scan | |
- name: Publish test results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
if: ${{ !cancelled() && (github.actor != 'dependabot[bot]') }} | |
with: | |
comment_mode: off | |
junit_files: '**/build/test-results/**/*.xml' | |
check_name: "Test results" | |
- name: Bundle the test reports | |
if: failure() | |
run: > | |
find . \( | |
-name .idea -o -path '*build/intermediates' -o -path '*build/.transforms' -o -path '*build/generated' | |
\) -prune -o | |
-type d -name 'reports' -print0 | |
| xargs -0 tar -c -I 'zstd -19 -T0' -f test-reports.tar.zst | |
- name: Bundle local plugin repository | |
run: > | |
tar -c -I 'zstd -19 -T0' -f local-plugin-repository.tar.zst build/local-plugin-repository | |
- name: Upload test reports | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: test-reports | |
path: test-reports.tar.zst | |
- name: Upload local plugin repository | |
uses: actions/upload-artifact@v3 | |
with: | |
name: local-plugin-repository | |
path: local-plugin-repository.tar.zst | |
static-analysis: | |
name: Style check | |
runs-on: ubuntu-latest | |
permissions: | |
security-events: write | |
timeout-minutes: 60 | |
if: >- | |
!contains(github.event.head_commit.message, '[ci skip]') | |
&& github.actor != 'dependabot[bot]' | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
dependency-graph: generate | |
- name: Run static code analyzers | |
run: > | |
./gradlew -Pkotlin.daemon.jvmargs="${{ env.KOTLIN_DAEMON_JVMARGS }}" | |
styleCheck --continue | |
- name: Uploads .sarif files to GitHub | |
uses: github/codeql-action/upload-sarif@v2 | |
with: | |
sarif_file: ./build/reports/detekt/report.sarif | |
category: detekt | |
- name: Bundle the build report | |
if: ${{ !cancelled() }} | |
run: > | |
tar -c -I 'zstd -19 -T0' -f lint-outputs.tar.zst build/reports | |
- name: Upload lint outputs | |
if: ${{ !cancelled() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lint-outputs | |
path: lint-outputs.tar.zst | |