name: CI

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

env:
  MPW_TAG: gfmpw-0f
  USER_ID: '18100001'
  CACHE_KEY: 0
  PDK: gf180mcuC
  STD_CELL_LIBRARY: gf180mcu_fd_sc_mcu7t5v0
  STD_CELL_LIBRARY_OPT: gf180mcu_fd_sc_mcu7t5v0

jobs:
  gds:
    timeout-minutes: 360
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash -el {0}
    steps:
      - name: checkout repo
        uses: actions/checkout@v3
        with:
          submodules: true

      - name: cache conda
        uses: actions/cache@v3
        with:
          path: ~/conda_pkgs_dir
          key:
            ${{ runner.os }}-${{ env.CACHE_KEY }}-conda

      - name: setup miniconda
        uses: conda-incubator/setup-miniconda@v2.2.0
        with:
          installer-url: https://github.com/proppy/conda-eda/releases/download/v0.0-1452-g75fd8b9/mixed-signal.gf180mcuc-0-Linux-x86_64.sh
          auto-activate-base: true
          activate-environment: ""
          channel-priority: strict
          use-only-tar-bz2: true

      - name: setup env
        run: |
          echo $CONDA/bin >> $GITHUB_PATH
          echo "PDK_ROOT=$CONDA/share/pdk" >> $GITHUB_ENV
          echo "PDK=gf180mcuC" >> $GITHUB_ENV

      - name: test tools
        run: |
          yosys --version
          openroad -version
          magic -dnull -noconsole --version
          netgen -batch quit
          klayout -zz -v
      
      - name: run flow
        run: |
          #(cd gf180_teststructures && magic -T gf180mcuC -dnull -noconsole < lef.tcl)
          (cd gf180_teststructures && magic -T gf180mcuC -dnull -noconsole < mag.tcl)
          cp gf180_teststructures/gf180_teststructures_flat.mag mag/gf180_teststructures.mag
          make user_project_wrapper

      - name: archive openlane runs
        if: always()        
        uses: actions/upload-artifact@v3
        with:
          name: openlane-runs
          path: |
            ${{ github.workspace }}/openlane/user_proj_example/runs/
            ${{ github.workspace }}/openlane/user_project_wrapper/runs/
            ${{ github.workspace }}/gds/
            ${{ github.workspace }}/gf180_teststructures/

      - name: cache gds
        uses: actions/cache@v3
        with:
          path: |
            def/
            gds/
            lef/
            mag/
            maglef/
            sdc/
            sdf/
            signoff/
            spef/
            spi/
            verilog/
          key: ${{ runner.os }}-gds-${{ github.run_id }}            

  precheck:
    needs:
      - gds
    runs-on: ubuntu-latest
    steps:
      - name: checkout repo
        uses: actions/checkout@v3
        with:
          submodules: true

      - name: cache conda
        uses: actions/cache@v3
        with:
          path: ~/conda_pkgs_dir
          key:
            ${{ runner.os }}-${{ env.CACHE_KEY }}-conda

      - name: setup miniconda
        uses: conda-incubator/setup-miniconda@v2.2.0
        with:
          installer-url: https://github.com/proppy/conda-eda/releases/download/v0.0-1452-g75fd8b9/mixed-signal.gf180mcuc-0-Linux-x86_64.sh
          auto-activate-base: true
          activate-environment: ""
          channel-priority: strict
          use-only-tar-bz2: true

      - name: setup env
        run: |
          echo $CONDA/bin >> $GITHUB_PATH
          echo "PDK_ROOT=$CONDA/share/pdk" >> $GITHUB_ENV
          echo "PDK=gf180mcuC" >> $GITHUB_ENV

      - name: test tools
        run: |
          yosys --version
          openroad -version
          magic -dnull -noconsole --version
          netgen -batch quit
          klayout -zz -v

      - name: restore gds cache
        uses: actions/cache@v3
        with:
          path: |
            def/
            gds/
            lef/
            mag/
            maglef/
            sdc/
            sdf/
            signoff/
            spef/
            spi/
            verilog/
          key: ${{ runner.os }}-gds-${{ github.run_id }}

      - name: run precheck
        run: |
          python -m pip install -r requirements.mpw_precheck.txt
          make run-precheck

      - name: archive precheck results
        if: always()        
        uses: actions/upload-artifact@v3
        with:
          name: precheck-results
          path: |
            ${{ github.workspace }}/gds
            ${{ github.workspace }}/verilog
            ${{ github.workspace }}/precheck_results/

  tapeout:
    needs:
      - gds
    runs-on: ubuntu-latest
    steps:
      - name: checkout repo
        uses: actions/checkout@v3
        with:
          submodules: true

      - name: cache conda
        uses: actions/cache@v3
        with:
          path: ~/conda_pkgs_dir
          key:
            ${{ runner.os }}-${{ env.CACHE_KEY }}-conda

      - name: setup miniconda
        uses: conda-incubator/setup-miniconda@v2.2.0
        with:
          installer-url: https://github.com/proppy/conda-eda/releases/download/v0.0-1452-g75fd8b9/mixed-signal.gf180mcuc-0-Linux-x86_64.sh
          auto-activate-base: true
          activate-environment: ""
          channel-priority: strict
          use-only-tar-bz2: true

      - name: setup env
        run: |
          echo $CONDA/bin >> $GITHUB_PATH
          echo "PDK_ROOT=$CONDA/share/pdk" >> $GITHUB_ENV
          echo "PDK=gf180mcuC" >> $GITHUB_ENV

      - name: test tools
        run: |
          yosys --version
          openroad -version
          magic -dnull -noconsole --version
          netgen -batch quit
          klayout -zz -v

      - name: restore gds cache
        uses: actions/cache@v3
        with:
          path: |
            def/
            gds/
            lef/
            mag/
            maglef/
            sdc/
            sdf/
            signoff/
            spef/
            spi/
            verilog/
          key: ${{ runner.os }}-gds-${{ github.run_id }}

      - name: run tapeout
        if: always()
        run: |
          make set_user_id
          make gpio_defaults
          sed -i -e "s@\$PDK_ROOT/\$PDK@$PDK_ROOT/$PDK@g" mag/*.mag
          sed -i -e "s@\$PDKPATH@$PDK_ROOT/$PDK@g" mag/*.mag
          sed -i -e "s@\$PDK_ROOT/\$PDK@$PDK_ROOT/$PDK@g" caravel/mag/*.mag
          sed -i -e "s@\$PDKPATH@$PDK_ROOT/$PDK@g" caravel/mag/*.mag
          make ship

      - name: archive caravel tapeout
        if: always()
        uses: actions/upload-artifact@v3
        with:
          name: caravel-tapeout
          path: |
            ${{ github.workspace }}/gds/caravel_*.gds
            ${{ github.workspace }}/signoff/
