honest

new project

new project

cove.foo looks like a cove project; the command below is a guess, change it as you like
run with sh -c in a fresh checkout; stdout and stderr are merged
optional; runs in the checkout first (pull an image, install deps); a non-zero exit errors the build without running the command
optional; runs in the checkout after the command passes (a deploy, a tag), with the project's variables. To deploy merged changes only: if [ "$HONEST_STATE" = merged ]; then ./deploy.sh; fi
optional; runs in the checkout after a build that did not pass (failed, timed out, or a setup that errored), with HONEST_STATUS saying which. Neither of the two changes the build's status
advanced setupname, events, secret, timeout, report, notify, team, keep, runs on, exclusive, supersede, docker
a-z, 0-9, - and _; it names the URLs; empty takes the repo's name
rev webhook filters: state.merged, change.saved, state, *
the --secret given to rev repo webhooks add; empty accepts unsigned posts
30s, 10min, 2h
a URL that gets a POST when a build ends
optional one-line template over ${project} ${build} ${number} ${version} ${title} ${author} ${trigger} ${status} ${passed} ${exit_code} ${url} ${took} ${then_step} ${then_status} ${then_exit_code}, or ${payload} for the default JSON object; empty sends the default
the Content-Type of that POST; values are JSON-escaped when it contains "json"
--team for rev get, when the repo is outside the login's active team
a label; only the hub or an worker offering it runs this project (empty: anywhere)

docker

run setup and the command inside this image with the checkout at /src (empty: on the host); only machines offering the docker label take it
container paths kept between builds, comma-separated: /usr/local/cargo/registry, /src/target
extra docker run arguments: --memory 4g, --user 1000:1000, -e FOO=bar
cancel