-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Proposed activities:
Cleaner migrations
Make adding migrations simple, add public constants for table names, add db configuration into README, add tests that will include db stuff.
- Add FluentMigrator for cleaner multi-sql-server migrations and less custom code for them
- Ditch NAOT as a side-effect of a choice. We most likely would not need any of its benefits and maintainability of NAOT app is generally higher. We cannot spare resources for no gains on side-projects, as i see.
- retarget code for PostgreSQL if possible, before we end up with a lot of data migrations to do
- add DB related integration tests (including CI)
- split debugging-in-container docker-compose (exists) and env compose (todo). Latter one should set up postgres db
Merge with maintainer bot (needs voice chat meeting with at minimum julain and simyon)
- convert to one codebase and standarts,
- migrate existing database
- document implemented features
Add reports about stale PRs
When PR have been marked with 'Awaiting changes' and had not received any changes (new commits) for more then 1 month, it should be marked with 'stale'. Stale PRs should be reported to discord every (week/2weeks/month) so maintainers would either mark them for later rework or just close.
- Add migration for PR cache in app DB
- Add methods for going through PRs in GH API (with paging)
- Options class for 'what do we consider stale'
- Add scheduler job that will sync-up list of PRs and critical stuff (comments and labels)
- Add scheduler job that will check stale PRs and do notifications in some discord channel (Table with checkmarks for notifications sent?). Exclude PRs that have special label (SilenceStaleNotifications or something).
- Add code to handler will modify PRs cache in DB on webhook events (ENSURE THERE WONT BE OVERLAPPING AND DIRTY WRITE WITH SCHEDULED SYNC)
Add reports about stale Discourse treads
When topic in discourse contains tag 'requires solution' and does not have tag 'closed' and have no new posts for 1 week, it should be reported to discord every (2 days/week/2week) so maintainers could ask certain other users to join discussion to resolve problem and condense some solution
- pretty much same stuff that PRs neeed
Pinging in discourse should ping in discord
Discourse should have ability to ping maintainer/group DM of maintainers in discord when they are pinged in topic. Probably would need hook for discourse add/edit post, scan every post for matches.
- Add mapping for GH - KeyCloak - Discord users
- As we will keep mapping only for maintainers (maybe triagers?) this will be limited but thats mostly all what we need.
- probably separate microservice that will have access to modifying keycloak, and provide mapping as user claims?
- pinging in discord should be disablable thing (where?)
ACTUALLY useful health-check, metrics and alerts
- Health-check that will provide DB status
- Heaht-check for github api availability (testing token)
- health-check for discord api availability (testing token and permissions? post and delete message?)
- health-check for discourse api availability (testing token? how to check for permissions?)
- metrics:
- attach metrics reporting
- github event processed counter
- github event failed processed counter (exceptions in main method)
- etc