name: Deploy Production

on:
  push:
    branches:
      - main

jobs:
  build:
    if: "!contains(github.event.head_commit.message, 'skip ci')"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 18
          registry-url: 'https://registry.npmjs.org'
      - name: Installing dependencies
        run: yarn install --frozen-lockfile
      - name: Build lib
        run: yarn run compile
      - name: Publish to NPM
        uses: AdaloHQ/npm-publish@v1
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
          NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
      - name: Deploy Web Preview
        uses: peter-evans/repository-dispatch@v1
        with:
          token: ${{secrets.GH_ACTIONS_TOKEN}}
          repository: AdaloHQ/web-preview
          event-type: deploy
      - name: Deploy Web Runtime
        uses: peter-evans/repository-dispatch@v1
        with:
          token: ${{secrets.GH_ACTIONS_TOKEN}}
          repository: AdaloHQ/web-runtime
          event-type: deploy

      - name: Deploy Runner Staging
        uses: peter-evans/repository-dispatch@v1
        with:
          token: ${{secrets.GH_ACTIONS_TOKEN}}
          repository: AdaloHQ/runner
          event-type: deployer-event
          client-payload: '{"sha": "${{ github.sha }}", "branch": "main", "env": "staging"}'

