Meshery Integrations Updater #290
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Meshery Integrations Updater | |
on: | |
push: | |
branches: | |
- "master" | |
paths: | |
- ".github/workflows/integrations-updater.yml" | |
schedule: | |
- cron: "0 0 * * *" # Run the job every day at midnight | |
workflow_dispatch: | |
# This workflow uses the service account: meshery-integrations-sheet@meshery-237716.iam.gserviceaccount.com | |
# See these instructions for setup - https://theoephraim.github.io/node-google-spreadsheet/#/getting-started/authentication | |
jobs: | |
integrations: | |
if: github.repository == 'meshery/meshery' | |
runs-on: ubuntu-22.04 | |
# outputs: | |
# output1: ${{ steps.step1.outputs.test }} | |
# output2: ${{ steps.step2.outputs.test }} | |
steps: | |
- name: Checkout Meshery repo | |
uses: actions/checkout@master | |
with: | |
path: meshery | |
token: ${{ secrets.GH_ACCESS_TOKEN }} | |
- name: Checkout Layer5.io repo | |
uses: actions/checkout@master | |
with: | |
repository: layer5io/layer5 | |
token: ${{ secrets.GH_ACCESS_TOKEN }} | |
path: layer5 | |
- name: Checkout Meshery.io repo | |
uses: actions/checkout@master | |
with: | |
repository: meshery/meshery.io | |
token: ${{ secrets.GH_ACCESS_TOKEN }} | |
path: meshery.io | |
- name: Checkout cloud repo | |
uses: actions/checkout@master | |
with: | |
repository: layer5io/meshery-cloud | |
token: ${{ secrets.GH_ACCESS_TOKEN }} | |
path: meshery-cloud | |
- name: Build mesheryctl | |
working-directory: ./meshery/mesheryctl | |
run: make; | |
- name: Publish to meshery.io site | |
working-directory: ./meshery/mesheryctl | |
run: ./mesheryctl registry publish website ${{ secrets.INTEGRATION_SPREADSHEET_CRED }} 1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw ../../meshery.io/integrations ../meshery.io/assets/images/integration -o js | |
- name: Pull latest changes from Meshery.io repo | |
working-directory: ./meshery.io | |
run: git pull origin master | |
- name: Commit changes to Meshery.io repo | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_user_name: l5io | |
repository: ./meshery.io | |
commit_user_email: ci@layer5.io | |
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> | |
commit_options: "--signoff" | |
commit_message: "[Docs] Generated documentation for Integration" | |
branch: master | |
- name: Publish to Layer5.io site | |
working-directory: ./meshery/mesheryctl | |
run: ./mesheryctl registry publish website ${{ secrets.INTEGRATION_SPREADSHEET_CRED }} 1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw ../layer5/src/collections/integrations ../layer5/src/collections/integrations -o mdx | |
- name: Pull latest changes from Layer5.io repo | |
working-directory: ./layer5 | |
run: git pull origin master | |
- name: Commit changes to Layer5.io repo | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_user_name: l5io | |
repository: ./layer5 | |
commit_user_email: ci@layer5.io | |
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> | |
commit_options: "--signoff" | |
commit_message: "[Docs] Generated documentation for Integration" | |
branch: master | |
- name: Publish to Meshery docs | |
working-directory: ./meshery/mesheryctl | |
run: ./mesheryctl registry publish website ${{ secrets.INTEGRATION_SPREADSHEET_CRED }} 1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw docs/_models docs/assets/img/integrations -o md | |
- name: Pull latest changes from Meshery repo | |
working-directory: ./meshery | |
run: git pull origin master | |
- name: Commit changes to Meshery repo | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_user_name: l5io | |
repository: ./meshery | |
commit_user_email: ci@layer5.io | |
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> | |
commit_options: "--signoff" | |
commit_message: "[Docs] Generated documentation for Integration" | |
branch: master | |
- name: Publish to Meshery Cloud | |
working-directory: ./meshery/mesheryctl | |
run: ./mesheryctl registry publish remote-provider ${{ secrets.INTEGRATION_SPREADSHEET_CRED }} 1DZHnzxYWOlJ69Oguz4LkRVTFM79kC2tuvdwizOJmeMw ../meshery-cloud/meshmodels/models ../meshery-cloud/ui/public/img/meshmodels | |
- name: Pull latest changes from Meshery Cloud repo | |
working-directory: ./meshery-cloud | |
run: git pull origin master | |
- name: Commit changes to Cloud repo | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_user_name: l5io | |
repository: ./meshery-cloud | |
commit_user_email: ci@layer5.io | |
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> | |
commit_options: "--signoff" | |
commit_message: "Models Updated" | |
branch: master | |
- name: Send Email on Model Publish 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 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 }}. |