name: CI


on:
    # Runs on Every Push
    push:
    # Runs on Pull Requests
    pull_request:

jobs:
  precheck:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: 'true'

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Install The Precheck
        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh

      - name: Run The Precheck
        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh

  simulation-1:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: 'true'

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Install The PDK
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/utils/bash_run_wrapper.sh .github/scripts/utils/pdkBuild.sh

      - name: Run The Simulation
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/dv-check-wrapper.sh user_proj_example 1

  simulation-2:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: 'true'

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Install The PDK
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/utils/bash_run_wrapper.sh .github/scripts/utils/pdkBuild.sh

      - name: Run The Simulation
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/dv-check-wrapper.sh user_proj_example 2
