Skip to content

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"
# }