# To better understand this file read this:
# https://docs.ionos.space/docs/github-actions-customization/

name: Deploy Now

on:
  - push
  - workflow_dispatch

jobs:
  deploy-now:
    runs-on: ubuntu-latest
    steps:
      - name: Fetch project data
        uses: ionos-deploy-now/retrieve-project-info-action@v1
        id: project
        with:
          api-key: ${{ secrets.IONOS_API_KEY }}
          project: ${{ secrets.IONOS_PROJECT_ID }}
          service-host: api-eu.ionos.space

      - name: checkout
        if: ${{ steps.project.outputs.deployment-enabled == 'true' }}
        uses: actions/checkout@v2
        with:
          submodules: 'recursive'

      - name: Setup Node
        if: ${{ steps.project.outputs.deployment-enabled == 'true' }}
        uses: actions/setup-node@v1
        with:
          node-version: v16.x

      - name: Build Node assets
        if: ${{ steps.project.outputs.deployment-enabled == 'true' }}
        env:
          CI: true
          SITE_URL: ${{ steps.project.outputs.site-url }}
        run: |
          npm install --global yarn
          yarn install --frozen-lockfile
          

      - name: Build React App
        if: ${{ steps.project.outputs.deployment-enabled == 'true' }}
        env:
          CI: true
          SITE_URL: ${{ steps.project.outputs.site-url }}
        run: |
          yarn react-app:build

      - name: Deploy to IONOS
        if: ${{ steps.project.outputs.deployment-enabled == 'true' }}
        uses: ionos-deploy-now/deploy-to-ionos-action@v1
        with:
          project: ${{ secrets.IONOS_PROJECT_ID }}
          branch-id: ${{ steps.project.outputs.branch-id }}
          service-host: api-eu.ionos.space
          api-key: ${{ secrets.IONOS_API_KEY }}
          dist-folder: ./packages/react-app/build
