honest
new project
projects
workers
stats
settings
system
light
dark
new project
eons looks like a node project; the command and setup below is a guess, change it as you like
rev repo
repos on the rev server with no project here yet; pick one to fill the form in:
agents
config
cove-os
coveshooter
eons
esp32-with-screen
galaxy-brain
jutsus
lisp
network
no-types
shapeshooter
solar-storm
test-brain
tinytodo
valheim
web-music-player
xeneon
xx
command
run with sh -c in a fresh checkout; stdout and stderr are merged
setup
optional; runs in the checkout first (pull an image, install deps); a non-zero exit errors the build without running the command
on success
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
on failure
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 setup
name, events, secret, timeout, report, notify, team, keep, runs on, exclusive, supersede, docker
name
a-z, 0-9, - and _; it names the URLs; empty takes the repo's name
events
rev webhook filters: state.merged, change.saved, state, *
secret
the --secret given to rev repo webhooks add; empty accepts unsigned posts
timeout
30s, 10min, 2h
report
write rev data and a rev comment back to the change
notify
a URL that gets a POST when a build ends
notify body
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
notify type
the Content-Type of that POST; values are JSON-escaped when it contains "json"
team
--team for rev get, when the repo is outside the login's active team
keep
keep the checkout after the build
runs on
a label; only the hub or an worker offering it runs this project (empty: anywhere)
exclusive
its builds run alone: they wait for every running build to finish, and nothing else starts until they are done
supersede
a newer build stops older queued or running ones: of the same change (a newer draft version, or a rebuild), and, for a merge's hook build, of older merged changes
docker
image
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
cache
container paths kept between builds, comma-separated: /usr/local/cargo/registry, /src/target
docker args
extra docker run arguments: --memory 4g, --user 1000:1000, -e FOO=bar
pull
pull the image before every build, not only when missing
create project
cancel