DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Implementation Details
Workflow
...
Deployment Framework : Serverless
- Github webhook pushes incoming comments to Lambda 1
- Lambda 1 pushes the request to SQS
- SQS then forwards the request to a Lambda 2
- Request payload contains info about PR author, comment author
- Lambda 2 retrieves token for accessing GitHub API using Secret manager
- Call GitHub API to retrieve list of mxnet-committers from teams [using committer’s credentials]
- Parse jobs from the input comment
- Verify if comment author is authorized [PR author/commiter]
- If verified : Trigger CI
- If this is the first time triggering the job, the branch needs to be scanned
- Using trigger job token (from Secrets manager), scan specific job for the new branch with Multi-branch Scan WebHook Trigger plugin.
- Else, trigger the build using Jenkins API
- Else comment unauthorized access
...
- How to fix issues related to the bot?
- First view the logs [Isengard → mxnet-ci-dev / mxnet-ci Prod/Dev account → Cloudwatch Logs]
- Check if Lambda functions are getting triggered
- /send_to_sqs
- /jenkins
- Check if comment author is being verified
- Check if Jenkins Job is being triggered [Verify on Jenkins URL if needed]
- Check if the messages are being posted via Github API
- Send To SQS lambda isn’t triggered
- Check if GitHub WebHook is working correctly
- for Prod account, need Apache Infra team access
- for dev account, tested on my personal fork
- Check on CW Logs for any errors
- Dev account : CW → Log Groups → /aws/lambda/mxnet-ci-bot-test-send
- Jenkins Lambda isn’t triggered
- Problem within Jenkins Lambda function
- Check on CW Logs for any errors
- Dev account : CW → Log Groups → /aws/lambda/mxnet-ci-bot-test-jenkins