Skip to content

[build][feat] add event handler #42

[build][feat] add event handler

[build][feat] add event handler #42

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Build image on DEV branch
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
pull_request:
branches: [ "dev" ]
push:
branches: [ "dev" ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
deploy-dev:
# The type of runner that the job will run on
runs-on: ubuntu-latest
environment:
name: development # Set the environment name
# Only trigger the workflow if the commit message contains '[build]'
if: contains(github.event.head_commit.message, '[build]')
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Send alert that a new commit has been created
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
🚀 *NEW COMMIT*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Building `vngcloud-blockstorage-csi-driver` image
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
ref: dev
# Runs a set of commands using the runners shell
- name: Containerize the application
continue-on-error: true
run: |
make build-local-images
- name: Send alert that the image has been built failed
uses: appleboy/telegram-action@master
if: ${{ failure() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
⛔ *ERROR*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Failed to build `vngcloud-blockstorage-csi-driver` image
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Send alert that the image has been built success
uses: appleboy/telegram-action@master
if: ${{ success() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
📦 *SUCCESS*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: The `vngcloud-blockstorage-csi-driver:${{ env.VERSION }}` image is built successfully, try to push it to VngCloud Registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Login to vcr.vngcloud.vn
uses: docker/login-action@v3
with:
registry: ${{ vars.VCR_DEV_REGISTRY }}
username: ${{ secrets.VCR_DEV_USERNAME }}
password: ${{ secrets.VCR_DEV_PASSWORD }}
- name: Push to vcr.vngcloud.vn
continue-on-error: true
run: |
docker image push ${{ vars.VCR_DEV_REGISTRY }}/vngcloud-blockstorage-csi-driver:v0.0.0
- name: Send alert that the image has been pushed failed
uses: appleboy/telegram-action@master
if: ${{ failure() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
⛔ *ERROR*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: Failed to PUSH `vngcloud-blockstorage-csi-driver` image to VngCloud registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- name: Send alert that the image has been pushed success
uses: appleboy/telegram-action@master
if: ${{ success() }}
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
format: markdown
message: |
🛸 *SUCCESS*
*Repository*: `${{ github.repository }}`
*Author*: `${{ github.actor }}`
*Action*: The `vngcloud-blockstorage-csi-driver:${{ env.VERSION }}` image is pushed successfully to VngCloud registry
*Commit message*:
```
${{ github.event.commits[0].message }}
```
*See changes*: https://github.com/${{ github.repository }}/commit/${{github.sha}}
*See workflow*: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}