name: CI

on: [ push, workflow_dispatch ]
permissions:
  contents: write
  pages: write
  id-token: write

jobs:
  pdk:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

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

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

      - name: Export PDK ROOT
        run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
      
      - name: Export OPENLANE ROOT
        run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV

      - name: Export PDK
        run: echo "PDK=gf180mcuC" >> $GITHUB_ENV

      - name: Install dependencies
        run: |
          sudo mkdir -p ${{ env.PDK_ROOT }}
          sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
          make install
          make openlane
          make pdk-with-volare
          
      - name: populate pdk cache
        uses: actions/cache@v3
        with:
          path: ${{ env.PDK_ROOT }}
          key: ${{ runner.os }}-pdk-${{ github.run_id }}

  user_project_flow_gf180mcuC:
    runs-on: ubuntu-latest
    needs: [pdk]
    steps:
      - uses: actions/checkout@v3

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

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

      - name: Export PDK ROOT
        run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV

      - name: Export PDK PATH
        run: echo "PDKPATH=/home/runner/work/pdk/sky130B" >> $GITHUB_ENV

      - name: Export PDK
        run: echo "PDK=gf180mcuC" >> $GITHUB_ENV

      - name: Export OPENLANE ROOT
        run: echo "OPENLANE_ROOT=/home/runner/work/AS2650/openlane" >> $GITHUB_ENV
          
      - name: restore pdk cache
        uses: actions/cache@v3
        with:
          path: ${{ env.PDK_ROOT }}
          key: ${{ runner.os }}-pdk-${{ github.run_id }}

      - name: Install dependencies
        run: |
          make install
          make install_mcw
          make openlane
          make simenv

      - name: Harden using Openlane
        run: |
          rm -rf gds
          mkdir gds
          make wrapped_as2650
          make user_project_wrapper

      - name: run precheck
        run: |
          make precheck
          make run-precheck

          cnt=$(grep -c "All Checks Passed" precheck_results/*/logs/precheck.log)
          if ! [[ $cnt ]]; then cnt=0; fi
          if [[ $cnt -eq 1 ]]; then exit 0; fi
          exit 2
          
      - name: Tarball GDS outputs
        run: |
          tar -cf /tmp/gds.tar -C ./gds .

      - name: Upload GDS Tarball
        uses: actions/upload-artifact@v3
        with:
          name: gds-tarball
          path: /tmp/gds.tar

      - name: upload failure logs
        if: failure()
        uses: actions/upload-artifact@v3
        with:
          name: error
          path: |
            /home/runner/work/AS2650/AS2650/precheck_results/*

  generate_gltf:
    runs-on: ubuntu-latest
    needs: [user_project_flow_gf180mcuC]
    steps:
      - uses: actions/checkout@v3
      
      - name: Download GDS Tarball
        uses: actions/download-artifact@v3
        with:
          name: gds-tarball
          path: /tmp

      - name: Unpack GDS Tarball
        run: |
          sudo mkdir -p ./gds
          sudo chown -R $USER:$USER ./gds
          tar -xf /tmp/gds.tar -C ./gds .
      
      - name: Generate models
        run: |
             echo "chirp"
             pip3 install numpy gdspy triangle pygltflib
             python3 gds2gltf.py gds/wrapped_as2650.gds
             python3 gds2gltf.py gds/user_project_wrapper.gds
             
      - uses: actions/upload-artifact@v3
        with:
          name: glTF
          path: |
            /home/runner/work/AS2650/AS2650/gds/wrapped_as2650.gds.gltf
            /home/runner/work/AS2650/AS2650/gds/user_project_wrapper.gds.gltf
  generate_svg:
    runs-on: ubuntu-latest
    needs: [user_project_flow_gf180mcuC]
    steps:
      - name: Download GDS Tarball
        uses: actions/download-artifact@v3
        with:
          name: gds-tarball
          path: /tmp
      - name: Unpack GDS Tarball
        run: |
          sudo mkdir -p /tmp/gds
          sudo mkdir -p /tmp/svg
          sudo chown -R $USER:$USER /tmp/gds
          sudo chown -R $USER:$USER /tmp/svg
          tar -xf /tmp/gds.tar -C /tmp/gds .

      - name: Install dependencies
        run: |
          python -m pip install gdstk
          python -m pip install numpy==1.23.5
          
      - name: Generate SVGs
        run: |
          python << EOF
          import gdstk
          
          library = gdstk.read_gds('/tmp/gds/wrapped_as2650.gds')
          top_cells = library.top_level()
          top_cells[0].write_svg('/tmp/svg/wrapped_as2650.svg')
          
          library = gdstk.read_gds('/tmp/gds/user_project_wrapper.gds')
          top_cells = library.top_level()
          top_cells[0].write_svg('/tmp/svg/user_project_wrapper.svg')
          
      - uses: actions/upload-artifact@v3
        with:
          name: SVG
          path: |
            /tmp/svg/wrapped_as2650.svg
            /tmp/gds/user_project_wrapper.svg
