honest
edit container
projects
workers
stats
settings
system
light
dark
edit container
name
container
rev repo
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
events, secret, timeout, report, notify, team, keep, runs on, exclusive, supersede, docker
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
save
cancel
delete project
Delete?
yes
cancel
removes container from honest.conf and all of its builds
Environment
· encrypted at rest in the
vault
(not set up)
Variables need the vault: set
auth
on the
settings
page and
set the vault up
, then add them here.
SSH keys
· private halves encrypted at rest in the
vault
(not set up)
Keys need the vault:
set it up
, then make or import them here.
SSH hosts
· where a build may
ssh
and
scp
, by name
add host
and pin its host key now
In a build:
scp -F "$HONEST_SSH_CONFIG" ./app prod:/srv/app/
. A host that is not pinned is checked against the building machine's own
known_hosts
.