Checklists
The purpose of this page is to collate a series of checklists for commonly performed changes to the source code of MathOptAI.
In each case, copy the checklist into the description of the pull request.
Making a release
In preparation for a release, use the following checklist. These steps can be done in the same commit, or separately. The last commit should have the message "Prep for vX.Y.Z."
## Pre-release
- [ ] Update `docs/src/changelog.md`
- [ ] Change the version number in `Project.toml`
- [ ] The commit messages in this PR do not contain `[ci skip]`
## The release
- [ ] After merging this pull request, comment `[at]JuliaRegistrator register`
in the GitHub commit.Adding a new predictor
Use this checklist when adding a new predictor.
## The predictor
- [ ] Create a new file in `src/predictors`
- [ ] Add the default copyright header
- [ ] Make a new `<: AbstractPredictor` type
- [ ] Add a docstring to the predictor
- [ ] Add the predictor to `docs/src/api.md`
- [ ] Add the predictor to `docs/src/manual/predictors.md`
- [ ] Implement `output_size`
- [ ] Implement `add_predictor(model, ::NewPredictor, x)`
- [ ] Optionally implement `add_predictor(model, ::ReducedSpace{NewPredictor}, x)`
- [ ] Add a test to `test/test_predictors.jl`
## Extensions
For each revelevant extension:
- [ ] Add support for the new predictor
- [ ] Add tests
- [ ] Mention the predictor in the docstring of the relevant `build_predictor`
- [ ] Mention the predictor in the relevant `docs/src/manual/<ext>.md`