You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initial scaffolding for BuildKite CI system
## Summary
For now, builds are generated manually, but it is very easy to trigger them automatically on PRs.
There is no infrastructure for running build agents yet -- so to iterate on builds you can run an agent locally. I have included an `agent.nix` with instructions on how to run the agent on your own computer.
Currently, the agents do not shell out to docker containers so make sure you have installed the environment necessary to run your pipeline before running your agent.
## It works
Included are two samples with separate "dirtyWhen" filters. When the branch includes changes from something in `src/lib` or a file containing `transition` in it the pipeline executes as follows:
<img width="529" alt="Screen Shot 2020-04-29 at 8 10 50 PM" src="https://user-images.githubusercontent.com/515445/80659197-405eda00-8a56-11ea-895d-66850b194ef1.png">
And if your branch does not include such changed files:
<img width="529" alt="Screen Shot 2020-04-29 at 8 11 41 PM" src="https://user-images.githubusercontent.com/515445/80659217-4b196f00-8a56-11ea-8887-c802cde7250b.png">
## Implementation
Pipelines are defined in Dhall. To support monorepo triaging, there is one top-level pipeline that dynamically pushes individual "Job"s to buildkite when a `dirtyWhen` trigger occurs.
BuildKite talks to `.buildkite/pipeline.dhall` which loads `./.buildkite/src/Monorepo.dhall`. Jobs are defined in `./.buildkite/src/jobs/` and two sample jobs are provided as a reference.
Inline comments in the Dhall code can provide more background.
Note that detecting dirty files is handled through the `scripts/generate_diff.sh` script.
Epic: #4762
Action items:
First part of #4763
Epic: #4762
The text was updated successfully, but these errors were encountered: