Skip to content

Merge pull request #222 from nuhkoca/renovate/versions.kotlinx_serial… #522

Merge pull request #222 from nuhkoca/renovate/versions.kotlinx_serial…

Merge pull request #222 from nuhkoca/renovate/versions.kotlinx_serial… #522

Workflow file for this run

name: Libbra
on:
push:
branches:
- master
pull_request:
branches:
- master
types: [opened, synchronize]
env:
CI: true
jobs:
setup:
name: Setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make checksum executable
run: chmod +x ./checksum.sh
- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v3
- name: Install JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Generate cache key
run: ./checksum.sh checksum.txt
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Check Dependency Updates
run: ./gradlew dependencyUpdates -Drevision=release
check-style:
needs: setup
name: Check Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make checksum executable
run: chmod +x ./checksum.sh
- name: Install JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Generate cache key
run: ./checksum.sh checksum.txt
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Run Lint
run: ./gradlew lintDebug
- name: Run Ktlint
run: ./gradlew ktlintCheck
- name: Run Detekt
run: ./gradlew detekt
- name: Run Spotless
run: ./gradlew spotlessCheck
- name: (Fail-only) Bundle the build report
if: failure()
run: find . -type d -name 'reports' | zip -@ -r build-reports.zip
- name: (Fail-only) Upload the build report
if: failure()
uses: actions/upload-artifact@v4
with:
name: error-report
path: build-reports.zip
build:
needs: check-style
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make checksum executable
run: chmod +x ./checksum.sh
- name: Install JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Generate cache key
run: ./checksum.sh checksum.txt
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Create Build Report
uses: eskatos/gradle-command-action@v3
with:
arguments: assembleDebug --scan
failOnError: true
id: gradle
- name: Upload Sample Artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: apk
path: app/build/outputs/apk/
- name: Publish Build Report As Comment If Failure
uses: mshick/add-pr-comment@v2
if: failure()
with:
message: Build failed ${{ steps.gradle.outputs.build-scan-url }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
allow-repeats: false
test:
needs: build
name: Unit Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make checksum executable
run: chmod +x ./checksum.sh
- name: Install JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Generate cache key
run: ./checksum.sh checksum.txt
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Unit Tests
run: ./gradlew testDebugUnitTest :rules:test # test task required for lint test
ui-test:
needs: test
name: Instrumentation Test
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Make checksum executable
run: chmod +x ./checksum.sh
- name: Install JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Generate cache key
run: ./checksum.sh checksum.txt
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Instrumentation Tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
arch: x86
script: ./gradlew connectedDebugAndroidTest