Skip to content

feat: Implement Distributed & Reactive CacheFlow Strategy #47

feat: Implement Distributed & Reactive CacheFlow Strategy

feat: Implement Distributed & Reactive CacheFlow Strategy #47

Workflow file for this run

name: CI
permissions:
checks: write
contents: read
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [24]
spring-boot-version: [3.2.0, 3.3.0]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: "temurin"
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run tests
run: ./gradlew test --info
- name: Generate test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Test Results (Java ${{ matrix.java-version }})
path: build/test-results/test/*.xml
reporter: java-junit
build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Set up JDK 24
uses: actions/setup-java@v4
with:
java-version: 24
distribution: "temurin"
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build --info
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: build/libs/
code-quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 24
uses: actions/setup-java@v4
with:
java-version: 24
distribution: "temurin"
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run ktlint
run: ./gradlew ktlintCheck
# Detekt temporarily disabled - waiting for Gradle 9.1 + detekt 2.0.0-alpha.1
# According to https://detekt.dev/docs/introduction/compatibility/,
# detekt 2.0.0-alpha.1 supports Gradle 9.1.0 and JDK 25
# - name: Run detekt
# run: ./gradlew detekt
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 24
uses: actions/setup-java@v4
with:
java-version: 24
distribution: "temurin"
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run dependency check
run: ./gradlew dependencyCheckAnalyze
- name: Run OWASP dependency check
run: ./gradlew dependencyCheckAnalyze