name: Compile

on:
  pull_request: 
  push:
    branches-ignore:
      - 'hotfix-*'   
      - 'release'


jobs:

  compile-accounts:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd Accounts && npm install && npm run compile && npm run dep-check

  compile-isolated-vm:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd CommonServer && npm install
      - run: cd IsolatedVM && npm install && npm run compile && npm run dep-check

  compile-common-server:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install && npm run compile && npm run dep-check

  compile-common-ui:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonUI && npm install --force && npm run compile && npm run dep-check

  compile-common:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install && npm run compile && npm run dep-check

  compile-app:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd App && npm install && npm run compile && npm run dep-check

  compile-copilot:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd Copilot && npm install && npm run compile && npm run dep-check

  compile-nginx:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd Nginx && npm install && npm run compile && npm run dep-check

  compile-infrastructure-agent:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v4
      # Setup Go
      - uses: actions/setup-go@v5
      - run: cd InfrastructureAgent && go build .
  

  compile-admin-dashboard:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd AdminDashboard && npm install && npm run compile && npm run dep-check

  compile-dashboard:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd Dashboard && npm install && npm run compile && npm run dep-check


  compile-model:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd Model && npm install && npm run compile && npm run dep-check

  compile-e2e:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd E2E && npm install && npm run compile && npm run dep-check

  compile-probe:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd Probe && npm install && npm run compile && npm run dep-check

  compile-ingestor:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd Ingestor && npm install && npm run compile && npm run dep-check
  

  compile-status-page:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd CommonUI && npm install --force
      - run: cd StatusPage && npm install && npm run compile && npm run dep-check

  compile-test-server:
    runs-on: ubuntu-latest
    env:
      CI_PIPELINE_ID: ${{github.run_number}}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 18.3.0
      - run: cd Common && npm install
      - run: cd Model && npm install
      - run: cd CommonServer && npm install
      - run: cd TestServer && npm install && npm run compile && npm run dep-check