name: CI


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

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
  
  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
  
  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: v0.12
          
       - 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
         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: v0.12
          
       - 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

  make_ship:
    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: v0.12

       - name: Run make ship
         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-ship.sh 
         env: 
          OPENLANE_TAG: v0.12
          
  set_user_id:
    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: v0.12

       - name: Run Set User ID
         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh 
         env: 
          OPENLANE_TAG: v0.12