Skip to content

Model Component Generator and Updater #20

Model Component Generator and Updater

Model Component Generator and Updater #20

name: Model Component Generator and Updater
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
generate-and-update-components:
if: github.repository == 'meshery/meshery'
name: Generate and Update Components
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_ACCESS_TOKEN }}
fetch-depth: 1
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Pull changes from remote
run: git pull origin master
- name: Build mesheryctl
run: |
cd mesheryctl
make
- name: Generate Models and Components
run: |
cd mesheryctl
./mesheryctl registry generate --spreadsheet-id "1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw" --spreadsheet-cred "${{ secrets.INTEGRATION_SPREADSHEET_CRED }}"
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: generate-logs
path: ~/.meshery/logs/
- name: Check registry-generate-error file
id: check-registry-generate-error
run: |
if [ -s ~/.meshery/logs/registry/registry-errors.log ]; then
echo "registry-generate-error=true" >> $GITHUB_ENV
else
echo "registry-generate-error=false" >> $GITHUB_ENV
fi
- name: Run Model Updater
run: |
cd mesheryctl
./mesheryctl registry update -i ../server/meshmodel --spreadsheet-id "1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw" --spreadsheet-cred "${{ secrets.INTEGRATION_SPREADSHEET_CRED }}"
- name: Pull changes from remote
run: git pull origin master
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_user_name: l5io
commit_user_email: ci@layer5.io
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
commit_options: "--signoff"
commit_message: "New Models generated and updated"
branch: master
- name: Send Email on Workflow Failure
if: failure()
uses: dawidd6/action-send-mail@v3.7.1
with:
server_address: smtp.gmail.com
server_port: 465
username: ${{ secrets.MAIL_USERNAME }}
password: ${{ secrets.MAIL_PASSWORD }}
subject: GitHub Actions - Workflow Failure
from: |
"Model Generator and Updater" <no-reply@meshery.io>
to: developers@meshery.io
body: |
The GitHub Actions workflow in ${{ github.repository }} has failed.
You can find more details in the GitHub Actions log ${{ github.workflow }}.
- name: Send Email on Registry Generate Error
if: env.registry-generate-error == 'false' #Turn it back to true when we are good with all the errors.
uses: dawidd6/action-send-mail@v3.7.1
with:
server_address: smtp.gmail.com
server_port: 465
username: ${{ secrets.MAIL_USERNAME }}
password: ${{ secrets.MAIL_PASSWORD }}
subject: Model Generator Error Log
from: |
"Model Generator" <no-reply@meshery.io>
to: developers@meshery.io
body: |
The Model Generator workflow (https://github.com/meshery/meshery/actions/workflows/model-generator.yml) encountered one or more errors. Refer to the attached error log for details or review the results of the failed workflow - https://github.com/meshery/meshery/actions/runs/${{ github.run_id }}.
Learn more about the Meshery Registry - https://docs.meshery.io/concepts/logical/registry.
attachments: ~/.meshery/logs/registry/registry-errors.log