Open churik opened 4 months ago
I checked the dokku
host where the status-github-bot
is hosted and it seems like "Pipeline for QA" no longer seems to be found and we may have to update the bot code to work with newer version of Github Projects.
2024-08-26T04:26:35.401131+00:00 docker/status-github-bot.web.1[169771]:
04:26:35.400Z ERROR probot: signature does not match event payload and secret
2024-08-26T04:26:35.496415+00:00 docker/status-github-bot.web.1[169771]:
04:26:35.495Z ERROR probot: signature does not match event payload and secret
2024-08-26T04:27:15.687549+00:00 docker/status-github-bot.web.1[169771]:
04:27:15.687Z ERROR probot: Cannot read properties of undefined (reading 'name') Pipeline for QA
2024-08-26T04:37:16.728953+00:00 docker/status-github-bot.web.1[169771]:
04:37:16.728Z ERROR probot: Cannot read properties of undefined (reading 'name') Pipeline for QA
2024-08-26T04:47:15.691997+00:00 docker/status-github-bot.web.1[169771]:
04:47:15.691Z ERROR probot: Cannot read properties of undefined (reading 'name') Pipeline for QA
2024-08-26T04:57:15.710380+00:00 docker/status-github-bot.web.1[169771]:
04:57:15.709Z ERROR probot: Cannot read properties of undefined (reading 'name') Pipeline for QA
2024-08-26T05:07:15.759895+00:00 docker/status-github-bot.web.1[169771]:
05:07:15.759Z ERROR probot: Cannot read properties of undefined (reading 'name') Pipeline for QA
Since there is a lot of old and unmaintained code in https://github.com/status-im/status-github-bot it seems like a good idea to write a new bot with 2 objectives:
I'd like to use newer version of probot
-> https://github.com/probot/probot/releases/tag/v13.3.7
I'll use this issue to track my progress.
https://github.com/status-im/status-github-bot-v2 made new repo for my minimalistic POC. once I get the basics right and some reviews we could rename and then archive the exiting repo.
@siddarthkay bot also automatically add all PRs in repo to pipeline, we also need this.
thank you for picking it up!
I finally got around to finishing a portion of the work here -> https://github.com/sidtech-solutions/github-pr-bot
The idea was to make a new github org and a new repo within the org and finish the work and when the bot is ready move it back to status-im github org, because testing a bot permission change would constantly require admin approval from github org owner and I would then have to open many PRs in status-im
org to test.
Majority of the trouble to getting this to work was late realisation that projects V2 does not work with the rest api and required graphql
calls instead.
So this bot now adds new PRs to the project board of our choice in the todo column.
Next steps :
We decided to get rid of Dokku host and Dokku services since they are very unreliable, Hence this bot is being deployed via its own ansible role instead of Dokku.
@status-im/mobile-qa : I've deployed v2 of the github bot on our infra-ci fleet and I observed that https://github.com/status-im/status-mobile/pull/21457 PR was automatically added to contributors column.
I also tested moving my react-native upgrade PR to E2E Tests
column and saw that E2E job results were posted on the PR.
I still have some other work to do like set up an ssl proxy for it, set up some consul alerts for infra monitoring etc but the bot is useable for now and currently running.
When I attempted to deploy the ssl proxy and use sghb.status.im
instead of smee.io url provided by probot
I faced the following issues :
status-github-bot-v2
were flooded with errors like this :
2024-10-21T12:17:04.797910+00:00 docker/status-github-bot[1006351]:
{"level":50,"time":1729513024797,"pid":36,"hostname":"acfa2c2fba9c","name":"probot","name":"server",
"type":"error","message":"Hostname/IP does not match certificate's altnames:
Host: sghb.status.im. is not in the cert's altnames: DNS:acid.info, DNS:*.acid.info, DNS:dev.acid.info"}
sghb.status.im
jakubgs@node-02.do-ams3.proxy.sites:~ % sudo cat /etc/nginx/proxy-sites/sghb.status.im.conf
cat: /etc/nginx/proxy-sites/sghb.status.im.conf: No such file or directory
link to draft ansible playbook changes -> https://github.com/status-im/infra-ci/pull/160/files terraform changes were applied.
I am debugging further on why infra-role-nginx
did not create the nginx config
Problem
We need to migrate https://github.com/status-im/status-mobile/projects/7 to new project with all automation: 1) when PR is added to repo, it should appear in https://github.com/status-im/status-mobile/projects/7 in "Review" column 2) moving to e2e column autonatically runs automation job with predefined parameters
Acceptance Criteria
Projects should be identical, and all PRs should move respectively.