Deployed on pushes to the main branch with Cloud Build
The database must be prepopulated with two pieces of data: an authentication token (used to validate incoming requests from Zulip), and an API key (used to talk to the Zulip API).
Zulip bots must have an owner set in Zulip. They may only have one owner at a time. RC Pairing Bot's ownership is given to whoever is working on Pairing Bot at the moment. The current owner is Robert Xu.
Onboarding, offboarding, and daily pairing matches are all controlled with cron jobs set in Cloud Scheduler.
Information for People Looking to Work On Pairing Bot
Please contact Robert Xu and/or Maren Beam for an overview of Pairing Bot and to gain direct access to this Github repo and Pairing Bot's resources in the Google Cloud.
You can open a Pull Request for Pairing Bot without contacting the project owners, but that means you'll lose out on the testing environemnt described below!
Pairing Bot has a test environment where you can validate your changes before changing the main Pairing Bot. It consists of:
A separate Zulip Bot (Pairing Bot [Test Version]) that you can send commands to.
A separate GC Project with its database, logging and cron job setup.
A dev branch in Github that automatically deploys pushed changes to the GCP project.
How to Make Changes to Pairing Bot
Contact one of the maintainers of Pairing Bot to learn about the project and gain project permissions.
Make your code changes on the dev branch and push to this Github repo.
Check the CloudBuild tab in Google Cloud to make sure that the Pairing Bot project built successfully.
Test out your changes with the Pairing Bot [Test Version]
Check the Logs in Google Cloud to make sure your change did not introduce any errors.
If everything looks good, you can open up a Pull Request comparing dev agaist main. If you have Git permissions from the maintainers then feel free to merge your changes in!
Pull requests are welcome, especially from RC community members!