name: Build Pull Request Contents

on:
  pull_request:
    types: ["opened", "synchronize"]

jobs:
  build-pull-request-contents:
    name: Build Pull Request Contents
    runs-on: ubuntu-20.04
    permissions:
      pull-requests: read

    steps:
      - name: Checkout Repository to Actions
        uses: actions/checkout@v3.3.0
        with:
          token: ${{ secrets.ACCESS_TOKEN }}

      - name: Setup Node.js 18.x
        uses: actions/setup-node@v2
        with:
          node-version: 18.x
          cache: "yarn"

      - name: Get changed files
        id: changed-files
        uses: tj-actions/changed-files@v41
        with:
          files_yaml: |
            apiserver:
              - apiserver/**
            web:
              - web/**
            deploy:
              - space/**

      - name: Build Plane's Main App
        if: steps.changed-files.outputs.web_any_changed == 'true'
        run: |
          yarn
          yarn build --filter=web

      - name: Build Plane's Deploy App
        if: steps.changed-files.outputs.deploy_any_changed == 'true'
        run: |
          yarn 
          yarn build --filter=space
