name: Pull Request CI
on:
 pull_request:
  branches: 
    - main
  types: 
    - opened
    - synchronize
    - reopened

jobs:
  build:
    name: Merge Check
    runs-on: ubuntu-latest
    container:
    steps:
      - name: Update Node Environment
        uses: actions/setup-node@v6
        with:
          node-version: 20.19

      - name: Verify Local Environment
        run: |
          which npm
          npm -v
          which node
          node -v

      - name: Checkout
        uses: actions/checkout@v5
        with:
          fetch-depth: 0
          ref: 'main'

      - name: Install Shared Dependencies
        run: |
          cd ${{ gitea.workspace }}/shared
          npm install

      - name: Install UI Dependencies
        run: |
          cd ${{ gitea.workspace }}/ui
          npm install

      - name: Install API Dependencies
        run: |
          cd ${{ gitea.workspace }}/api
          npm install

      - name: Build UI
        run: |
          cd ${{ gitea.workspace }}/ui
          npm run build

      - name: Build API
        run: |
          cd ${{ gitea.workspace }}/api
          npm run build
