This repo is the software that powers Pacchettibotti, a bot that takes care of automating updates across various repositories belonging to PureScript's package infrastructure.
- Keep the package versions in package-sets up to date as new versions of
the packages in the set are released.
Enabled by the
enablePackageSetsUpdate
setting. Requires write access to package-sets. - Keep the registry in sync with new versions of packages released on the
Bower registry.
Enabled by the
enableRegistryBowerSync
setting. Requires write access to the registry. - Keep the package-sets-metadata repo up to date.
Enabled by the
enableSetsMetadataUpdate
setting. Requires write access to said repo. - Keep purescript version up to date in Spago CI scripts.
Enabled by the
enableVersionUpdates
setting. Requires write access to spago - Keep package-sets version up to date in Spago templates.
Enabled by the
enableVersionUpdates
setting. Requires write access to spago - Keep docs-search version up to date in Spago.
Enabled by the
enableVersionUpdates
setting. Requires write access to spago
The deployment of the bot is currently maintained by @f-f, and you can see its status (i.e. up/down) through the badge at the top.
TODO: document DB: why, how, what
Using stack is the recommended option unless you know what you're doing.
Common workflows:
stack build
to compile the projectstack install
to copy the executable to your path
The project compiles to an executable called pacchettibotti
.
You should:
- run it into
nix-shell
(seelaunch.sh
) - have a
config.json
- define the
PACCHETTIBOTTI_GITHUB_TOKEN
environment variable, containing a GitHub token.
Note: you should not need to add any authorization, as the token will only be used to open Pull Requests.
Note: right now one is supposed to have write access to all the repos (as @pacchettibotti has), and this is not very nice. In order to enable easy testing of the changes and/or being able to run this on any other account we should make this generic - this is tracked in #3