Files
claude-code 295aeb3894
werkator build succeeded after 02:13
werkator/publish build succeeded after 00:22
werkcrappit builds with Temurin 25, for Java 21 (0.26.5) (#60)
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-11 13:43:10 +02:00

64 lines
2.5 KiB
YAML

# 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