# Werkator CI configuration for werkcrappit (built by https://werkator.javagil.de). # Reference: https://github.com/mhoennig/werkator/blob/main/docs/configuration.md werkator: version: since: "1.0.1" gitea: baseUrl: https://git.javagil.de owner: mi repo: werkcrappit statusContext: werkator artifacts: retentionPerBranch: 3 watcher: newBranchMaxAge: 5d builds: # The gradle wrapper is committed, so the build environment needs a JDK # and nothing else — werkdock's rootfs has JDK 21, which runs Gradle 9; Foojay loads the Temurin 25 toolchain. default: trigger: onPush: true cleanCommand: rm -rf build */build buildCommand: ./gradlew --console=plain --no-daemon build # about 5 times the longest build so far (109 s); the host allows hours for # Werkator's nightly mutation build, and this keeps a hanging build from using them timeout: 10m artifactDirs: - werkcrappit-pit/build/reports - werkcrappit-gradle-plugin/build/reports stdoutLog: build.stdout.log stderrLog: build.stderr.log # The repository's half of the publication to the Gitea Maven registry: what it does. # When it runs (after a green main build), its status context and the registry token are # the host's half (docs/publishing.md), so no branch can trigger it or reach the token. publish: cleanCommand: "" buildCommand: tools/publish artifactDirs: [] # Mutation testing of werkcrappit-pit with its own Mutation-CRAP: PIT runs the unit tests # against every mutant, nightly on main after new commits, in the slot after Werkator's # (00:00 UTC) on the same host. A full run took 6.5 minutes locally; PIT's history in # .pitest/ keeps later runs to the changed classes. mutationCrapCheck fails above the # limit in werkcrappit-pit/build.gradle.kts. mutation: trigger: atTimes: ["03:00"] branches: ["main"] activeWithin: 24h # only its own reports: the worktree is main's, shared with the build and publish cleanCommand: rm -rf werkcrappit-pit/build/reports/pitest werkcrappit-pit/build/reports/codecharta # the export before the gate, so a failing gate still leaves the code city to look at buildCommand: ./gradlew --console=plain --no-daemon :werkcrappit-pit:pitest :werkcrappit-pit:mutationCrapCodeCharta :werkcrappit-pit:mutationCrapCheck artifactDirs: - werkcrappit-pit/build/reports/pitest - werkcrappit-pit/build/reports/codecharta # about 5 times the measured full run; the host would allow hours timeout: 30m statusContext: werkator/mutation