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