ci: split jobs

This commit is contained in:
2025-04-12 03:55:05 +02:00
parent b4700aa185
commit c7eb1abad8

View File

@@ -7,8 +7,10 @@ on:
branches: [master] branches: [master]
jobs: jobs:
build-test: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs:
cache-key: ${{ steps.cache-key-generator.outputs.key }}
steps: steps:
- name: Checkout code - name: Checkout code
@@ -20,26 +22,82 @@ jobs:
distribution: 'temurin' distribution: 'temurin'
java-version: '21' java-version: '21'
- name: Generate cache key
id: cache-key-generator
run: echo "key=gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}" >> $GITHUB_OUTPUT
- name: Cache Gradle dependencies - name: Cache Gradle dependencies
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: | path: |
~/.gradle/caches ~/.gradle/caches
~/.gradle/wrapper ~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} key: ${{ steps.cache-key-generator.outputs.key }}
restore-keys: | restore-keys: |
gradle-${{ runner.os }}- gradle-${{ runner.os }}-
- name: Grant execute permission to Gradle wrapper - name: Grant execute permission to Gradle wrapper
run: chmod +x gradlew run: chmod +x gradlew
- name: Lint lint:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Restore Gradle cache
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ needs.build.outputs.cache-key }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Grant execute permission to Gradle wrapper
run: chmod +x gradlew
- name: Run lint
run: ./gradlew ktlintCheck run: ./gradlew ktlintCheck
test:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Restore Gradle cache
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ needs.build.outputs.cache-key }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Grant execute permission to Gradle wrapper
run: chmod +x gradlew
- name: Start CI Docker Compose services - name: Start CI Docker Compose services
run: ./gradlew composeUp -Pci run: ./gradlew composeUp -Pci
- name: Test - name: Run tests
run: ./gradlew test -x composeUp --no-daemon run: ./gradlew test -x composeUp --no-daemon
- name: Upload test reports - name: Upload test reports