The YourBase CI service automatically accelerates builds based on their
inferred dependencies. For example, if you change your README, the YourBase
CI service will skip any unit tests, but it won’t skip your Markdown linter
check. The YourBase CI service will also persist build artifacts from
previous runs, so tools like
go build or
npm install will run faster
after their first build.
Here’s a few tips for correct, fast builds on YourBase CI:
$HOME. Other files may be preserved, but this is not guaranteed. Even when using the CLI,
$HOMEwill not map to your real home directory, so you can safely stash files there without affecting other build targets.
commandsbased on component. The CI service unit of acceleration is a command, so either a command will be run or it won’t. If you run a script in your target, individual commands in that script will not be accelerated.
commandsshould be idempotent. For example, copying a file is idempotent but moving a file is not because the source file would no longer exist after the command. If your commands are not idempotent, your builds may have incorrect results when a command gets skipped.
If something goes wrong, you can always trigger a cold build to ensure the highest fidelity results.