name: build-pipeline

on:
  pull_request:
    branches:
      - develop
      - main
      - release/v*

jobs:
  build-frontend:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Install dependencies
        run: cd frontend && yarn install
      - name: Run ESLint
        run: cd frontend && npm run lint
      - name: Run Jest
        run: cd frontend && npm run jest
      - name: TSC
        run: yarn tsc
        working-directory: ./frontend
      - name: Build frontend docker image
        shell: bash
        run: |
          make build-frontend-amd64

  build-frontend-ee:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Create .env file
        run: |
          echo 'INTERCOM_APP_ID="${{ secrets.INTERCOM_APP_ID }}"' > frontend/.env
          echo 'SEGMENT_ID="${{ secrets.SEGMENT_ID }}"' >> frontend/.env
          echo 'CLARITY_PROJECT_ID="${{ secrets.CLARITY_PROJECT_ID }}"' >> frontend/.env
      - name: Install dependencies
        run: cd frontend && yarn install
      - name: Run ESLint
        run: cd frontend && npm run lint
      - name: Run Jest
        run: cd frontend && npm run jest
      - name: TSC
        run: yarn tsc
        working-directory: ./frontend
      - name: Build frontend docker image
        shell: bash
        run: |
          make build-frontend-amd64

  build-query-service:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Setup golang
        uses: actions/setup-go@v4
        with:
          go-version: "1.21"
      - name: Run tests
        shell: bash
        run: |
          make test
      - name: Build query-service image
        shell: bash
        run: |
          make build-query-service-amd64

  build-ee-query-service:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Setup golang
        uses: actions/setup-go@v4
        with:
          go-version: "1.21"
      - name: Build EE query-service image
        shell: bash
        run: |
          make build-ee-query-service-amd64
