Skip to content

Code cleanup, bump deps #1132

Code cleanup, bump deps

Code cleanup, bump deps #1132

Workflow file for this run

name: CI
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
test:
name: Unit Tests
runs-on: ubuntu-latest
timeout-minutes: 10
if: github.event_name == 'pull_request'
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
with:
cache-read-only: true
- name: Run tests with coverage
run: ./gradlew koverHtmlReport koverXmlReport --stacktrace
- name: Upload test results
if: always()
uses: actions/upload-artifact@v6
with:
name: test-results
path: '**/build/test-results/**/*.xml'
retention-days: 3
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v6
with:
name: test-reports
path: '**/build/reports/tests/**'
retention-days: 3
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v6
with:
name: coverage-report
path: '**/build/reports/kover/**'
retention-days: 3
lint:
name: Code Quality
runs-on: ubuntu-latest
timeout-minutes: 10
if: github.event_name == 'pull_request'
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
with:
cache-read-only: true
- name: Run ktlint
run: ./gradlew ktlintCheck --stacktrace
- name: Run detekt
run: ./gradlew detekt --stacktrace
- name: Run Android Lint
run: ./gradlew lintDebug --stacktrace
- name: Upload lint results
if: always()
uses: actions/upload-artifact@v6
with:
name: lint-results
path: |
**/build/reports/lint-results-*.html
**/build/reports/lint-results-*.xml
retention-days: 3
build-debug:
name: Build Debug APK
runs-on: ubuntu-latest
timeout-minutes: 15
needs: [ test, lint ]
if: github.event_name == 'pull_request'
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
with:
cache-read-only: true
- name: Build debug APK
run: ./gradlew assembleDebug --stacktrace
build-release:
name: Build Release APK
runs-on: ubuntu-latest
timeout-minutes: 15
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
- name: Build release APK
run: ./gradlew assembleRelease --stacktrace