name: CI


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

jobs:
  precheck:
    runs-on: ubuntu-latest
    timeout-minutes: 720
    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: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh

      - name: Upload artifact
        uses: actions/upload-artifact@v2
        if: ${{ failure() }}
        with:
          name: precheck_logs
          retention-days: 1
          path: |
            checks/**/*.*

  precheck-drc:
    timeout-minutes: 720
    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: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck-drc.sh

      - name: Upload artifact
        uses: actions/upload-artifact@v2
        if: ${{ failure() }}
        with:
          name: drc_logs
          retention-days: 1
          path: |
            checks/**/*.*

  dv_rtl:
    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/dv/pdkBuild.sh
        env: 
          OPENLANE_TAG:  2021.09.16_03.28.21
        
      - 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             RTL
       
      - name: Upload artifact
        uses: actions/upload-artifact@v2
        if: ${{ failure() }}
        with:
          name: dv_log
          retention-days: 1
          path: |
            checks/**/*.*
  dv_gl:
    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/dv/pdkBuild.sh
        env: 
          OPENLANE_TAG:  2021.09.16_03.28.21
        
      - 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              GL

      - name: Upload artifact
        uses: actions/upload-artifact@v2
        if: ${{ failure() }}
        with:
          name: dv_gl_logs
          retention-days: 1
          path: |
            checks/**/*.*