Auto Release¶
Overview¶
Auto Release is a process to send notification to stakeholder about changes in the system.
This support more transperancy into system with changes of the internal services.
Process¶
Flow:
flowchart LR
gh[GitHub] -- changes on release / or by push by maintainer --> eventarc -- filter events --> notification[Notification]
notification -- build messages on payload and send --> email[Gmail]
Step 1: Maintainer trigger on build
Step 2: Filter event and handle the component
Step 3: Using gh
to extract the relase content in the JSON format
Step 4: Send to the notification portal
Example of output:
gh release view v2.19.10 --json apiUrl,isDraft,author,targetCommitish,assets,body
# {
# "apiUrl": "https://api.github.com/repos/Innotech-Vietnam/inno-submarine/releases/155387283",
# "assets": [],
# "author": {
# "id": "MDQ6VXNlcjE2NjI5Nzkx",
# "login": "thuyetbao"
# },
# "body": "## What's Changed\r\n\r\n* [Fix] Nowait on INNO endpoint by @thuyetbao in https://github.com/Innotech-Vietnam/inno-submarine/pull/303\r\n\r\n**Full Changelog**: https://github.com/Innotech-Vietnam/inno-submarine/compare/v2.19.3...v2.19.10",
# "isDraft": false,
# "targetCommitish": "master"
# }