name: Deploy Snowball frontend

on:
  push:
    branches:
      - ag-frontend-ci

jobs:
  deploy:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [20.x]

    steps:
      - name: Check out repository
        uses: actions/checkout@v2

      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}

      - name: Download yarn
        run: |
          curl -fsSL -o /usr/local/bin/yarn https://github.com/yarnpkg/yarn/releases/download/v1.22.21/yarn-1.22.21.js
          chmod +x /usr/local/bin/yarn

      - name: Set up environment
        run: |
          # Create a .env file with the necessary environment variables from GitHub secrets
          echo "REGISTRY_BOND_ID=${{ secrets.REGISTRY_BOND_ID }}" > .env
          echo "DEPLOYER_LRN=lrn://vaasl-provider/deployers/webapp-deployer-api.apps.vaasl.io" >> .env
          echo "AUTHORITY=laconic-deploy" >> .env

          # Create a config file with necessary endpoints and placeholders for secrets
          cat > packages/deployer/config.yml <<EOF
          services:
            registry:
              rpcEndpoint: https://laconicd-sapo.laconic.com
              gqlEndpoint: https://laconicd-sapo.laconic.com/api
              userKey: ${{ secrets.REGISTRY_USER_KEY }}
              bondId: ${{ secrets.REGISTRY_BOND_ID }}
              chainId: laconic-testnet-2
              gasPrice: 0.001alnt
          EOF

      - name: Run Deploy Script
        run: |
          packages/deployer/deploy-frontend.sh
