Skip to content

feat(backend,webapp): i18next JSON import + export (T301–T305) (#174) #75

feat(backend,webapp): i18next JSON import + export (T301–T305) (#174)

feat(backend,webapp): i18next JSON import + export (T301–T305) (#174) #75

Workflow file for this run

name: ci-backend
on:
push:
branches: [master]
paths:
- 'backend/**'
- 'buildSrc/**'
- 'gradle/**'
- 'settings.gradle.kts'
- 'build.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/ci-backend.yml'
pull_request:
paths:
- 'backend/**'
- 'buildSrc/**'
- 'gradle/**'
- 'settings.gradle.kts'
- 'build.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/ci-backend.yml'
concurrency:
group: ci-backend-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: build + test
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-home-cache-cleanup: true
- name: Verify multi-module wiring
run: ./gradlew projects --no-daemon
- name: Lint (ktlint + detekt)
run: ./gradlew ktlintCheck detekt --no-daemon --continue
- name: Build + test
run: ./gradlew build --no-daemon --stacktrace
- name: Coverage report
run: ./gradlew jacocoTestReport --no-daemon
if: always()
- name: Upload coverage
uses: actions/upload-artifact@v4
if: always()
with:
name: backend-coverage
path: backend/*/build/reports/jacoco/
retention-days: 14
- name: Upload test reports
uses: actions/upload-artifact@v4
if: always()
with:
name: backend-test-reports
path: backend/*/build/reports/tests/
retention-days: 14