ci.yml raw

   1  name: Continuous Integration
   2  
   3  on:
   4    push:
   5      branches:
   6        - main
   7    pull_request:
   8      branches:
   9        - main
  10  
  11  concurrency:
  12    group: ci-${{ github.ref }}
  13    cancel-in-progress: true
  14  
  15  jobs:
  16    ktlint:
  17      runs-on: ubuntu-latest
  18      timeout-minutes: 5
  19      steps:
  20        - uses: actions/checkout@v4
  21        - name: Install
  22          run: |
  23            curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.0.1/ktlint
  24            chmod a+x ktlint
  25            sudo mv ktlint /usr/local/bin/
  26        - name: Run
  27          run: ktlint --reporter sarif -l none > ktlint.sarif
  28        - name: Upload SARIF
  29          uses: github/codeql-action/upload-sarif@v3
  30          if: success() || failure()
  31          with:
  32            sarif_file: ktlint.sarif
  33    detekt:
  34      runs-on: ubuntu-latest
  35      timeout-minutes: 5
  36      steps:
  37        - uses: actions/checkout@v4
  38        - name: Setup Java
  39          uses: actions/setup-java@v4
  40          with:
  41            distribution: temurin
  42            java-version: 17
  43        - name: Setup Gradle
  44          uses: gradle/actions/setup-gradle@v3
  45        - name: Run
  46          run: |
  47            chmod +x gradlew
  48            ./gradlew detekt
  49        - name: Upload SARIF
  50          uses: github/codeql-action/upload-sarif@v3
  51          if: success() || failure()
  52          with:
  53            sarif_file: app/build/reports/detekt/detekt.sarif
  54        - name: Job Summary
  55          if: success() || failure()
  56          run: cat ./app/build/reports/detekt/detekt.md >> $GITHUB_STEP_SUMMARY
  57    build:
  58      runs-on: ubuntu-latest
  59      timeout-minutes: 10
  60      steps:
  61        - uses: actions/checkout@v4
  62        - name: Setup Java
  63          uses: actions/setup-java@v4
  64          with:
  65            distribution: temurin
  66            java-version: 17
  67        - name: Setup Gradle
  68          uses: gradle/actions/setup-gradle@v3
  69        - name: Run
  70          run: |
  71            chmod +x gradlew
  72            ./gradlew build
  73