# Werkator CI configuration for Werkprobe (built by https://werkator.javagil.de). # Reference: https://github.com/mhoennig/werkator/blob/main/docs/configuration.md # # The Gitea repository has to exist before this does anything. werkator: version: since: "1.0.1" gitea: baseUrl: https://git.javagil.de owner: mi repo: werkprobe statusContext: werkator artifacts: retentionPerBranch: 5 watcher: newBranchMaxAge: 5d builds: # The gradle wrapper is committed, so the build environment needs a # JDK and nothing else; Foojay loads the Temurin 25 of the toolchain. # CI runs the container tests too, since werkdock 0.6.0: the API socket # lives in this repository's build-environment home, which Werkator's # werkdock runner binds into every sandbox as /root. The postgres image # is in the werkdock store on the host; Ryuk is off because it wants an # API socket inside a container of its own, which werkdock has no room for. default: trigger: onPush: true cleanCommand: rm -rf build buildCommand: ./gradlew --console=plain dist test artifactDirs: - build/dist - build/reports werkdock: env: DOCKER_HOST: "unix:///root/werkdock.sock" TESTCONTAINERS_RYUK_DISABLED: "true" stdoutLog: build.stdout.log stderrLog: build.stderr.log # The demo of werkcrappit's charts: PIT over werkprobe.shop and the code city with its structure # page and matrix, nightly and only when main moved, after Werkator's (00:00) and werkcrappit's # (03:00) mutation builds on the same host. No gate: the demo is red on purpose. mutation: trigger: atTimes: ["04:00"] branches: ["main"] activeWithin: 24h # only its own reports: the worktree is main's, shared with the default build cleanCommand: rm -rf build/reports/pitest build/reports/codecharta buildCommand: ./gradlew --console=plain --no-daemon pitest mutationCrapCodeCharta artifactDirs: - build/reports/pitest - build/reports/codecharta timeout: 15m statusContext: werkator/mutation