Note

Cloud Runに立てたセルフホストのHasuraに対してマイグレーションやメタデータの反映をしたい

どうやらCloud版はGihtub DeploymentなるものがあるらしくRepositoryを接続すれば反映してくれるらしい。 HasuraのGitHub Deployment機能を使ってデプロイ作業(migrate, metadata apply)を自動化する GraphQL - Qiita


Github Actionsで以下のように対応した。

name: Hasura Deployment
on:
  push:
    tags:
      - "v*"
 
jobs:
  deployment:
    environment: production
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
 
      - name: apply hasura migration
        uses: smplrspace/hasura-action@v3
        with:
          args: migrate apply --all-databases
        env:
          HASURA_ENDPOINT: ${{ secrets.HASURA_ENDPOINT }}
          HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }}
          HASURA_WORKDIR: hasura
          HASURA_ENGINE_VERSION: v2.6.2
 
      - name: apply hasura metadata
        uses: smplrspace/hasura-action@v3
        with:
          args: metadata apply
        env:
          HASURA_ENDPOINT: ${{ secrets.HASURA_ENDPOINT }}
          HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }}
          HASURA_WORKDIR: hasura
          HASURA_ENGINE_VERSION: v2.6.2