name: CI

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

jobs:
  precheck:
    timeout-minutes: 720
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

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

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

      - name: Install Magic
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-magic.sh

      - name: Build PDK
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/build-pdk.sh

      - name: Install The Precheck
        run: git clone --depth=1 https://github.com/efabless/mpw_precheck.git ${GITHUB_WORKSPACE}/mpw_precheck

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

  dv_rtl:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

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

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

      - name: Install Magic
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-magic.sh

      - name: Build PDK
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/build-pdk.sh

      - name: Install The Dockerized DV Setup
        run: docker pull efabless/dv_setup:latest

      - name: Run DV tests
        # Run test number 0,1,2,3,4 in one job                            <test-ids>   <sim-mode>
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0,1,2,3,4      RTL

  dv_gl:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

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

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

      - name: Install Magic
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-magic.sh

      - name: Build PDK
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/build-pdk.sh

      - name: Install The Dockerized DV Setup
        run: docker pull efabless/dv_setup:latest

      - name: Run DV tests
        # Run test number 0,1,2,3,4 in one job                             <test-ids>   <sim-mode>
        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0,1,2,3,4      GL
