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/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
