Giles is a GitHub bot which deploys Baldrick, it has the following features:
- Post Statuses for CircleCI artifacts.
- Check that all PRs have milestones.
- Validate a towncrier changelog entry is present.
Baldrick is designed to be extensible, if you want extra features it's easy to host your own custom bot.
To use Giles, go to https://github.com/apps/giles and add the app to your repositories.
Then follow the instructions below on how to configure Giles.
Configuration of Giles is done via the pyproject.toml
file, in the root of
the repository.
Giles can post GitHub statuses directly linking to artifacts uploaded on CircleCI.
To enable this add Giles to a repository and configure a webhook in project settings for https://giles.cadair.dev/circleci/v2
you only need "Job Completed" events.
The CircleCI artifact plugin is enabled by default to post a status for
a sphinx html build. It will look for a file named html/index.html
.
To add a custom artifact link add the following to your pyproject.toml
file:
[ tool.gilesbot ]
[ tool.gilesbot.circleci_artifacts.checkname ]
url = "my/artifact/path"
message = "GitHub Status Message."
You can add as many of these as you wish, change checkname
for each one. You
need the circleci webhook configuration as above.
If you want to disable the default artifact (html/index.html) you can add:
[ tool.gilesbot ]
[ tool.gilesbot.circleci_artifacts.giles ]
enabled = False
To enable checking of milestones add the following to your pyproject.toml
file:
[ tool.gilesbot ]
[ tool.gilesbot.pull_requests ]
enabled = true
[ tool.gilesbot.milestones ]
enabled = true
You can customise the behaviour of the checks by following the Baldrick documentation.
To enable Towncrier GitHub checks on your Pull Requests add the following to
your pyproject.toml
file:
[ tool.gilesbot ]
[ tool.gilesbot.pull_requests ]
enabled = true
[ tool.gilesbot.towncrier_changelog ]
enabled = true
To customise the behaviour follow the Baldrick documentation.
Feel free to open an issue on this repository or on the Baldrick repository with feature requests or bug reports.