name: Build, Test and Publish

on:
  push:
    branches: [master]

jobs:
  docker:
    runs-on : ubuntu-latest
    steps :
      - name: Checkout
        uses: actions/checkout@v2
      - name: Login to Docker Hub
        uses: docker/login-action@v1
        with:
          username : ${{ secrets.DOCKER_HUB_USER }}
          password : ${{ secrets.DOCKER_HUB_PASSWORD }}
      - name : Build and push docker
        run: |
          cd frontend
          docker build --build-arg API_GW_URL=https://opensaas.frontegg.com . -t frontegg/opensaas:latest
          docker push frontegg/opensaas:latest
  publish:
    name: Publish to npm
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install
        if: steps.cache-modules.outputs.cache-hit != 'true'
        run: npm install
      - name: Build
        if: steps.cache-modules.outputs.cache-hit != 'true'
        run: npm run build
      - name: Publish
        uses: mikeal/merge-release@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
