Skip to content
This repository has been archived by the owner on Sep 13, 2020. It is now read-only.
/ pacchettibotti Public archive

Automation bot for PureScript's package infrastructure

Notifications You must be signed in to change notification settings

spacchetti/pacchettibotti

Repository files navigation

Pacchettibotti

Status badge

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.

Responsibilities

  • 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

Current deployment

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.

Internals

TODO: document DB: why, how, what

Developing

Dev environment

Using stack is the recommended option unless you know what you're doing.

Common workflows:

  • stack build to compile the project
  • stack install to copy the executable to your path

Runtime requirements

The project compiles to an executable called pacchettibotti.

You should:

  • run it into nix-shell (see launch.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

About

Automation bot for PureScript's package infrastructure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages