diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index d3a722bd..bf3d3083 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -717,3 +717,17 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./ci + + #64 + openlane-linux: + runs-on: "ubuntu-20.04" + env: + PACKAGE: "misc/openlane" + OS_NAME: "linux" + steps: + - uses: actions/checkout@v3 + - name: 'Install tcllib' + run: | + sudo apt update + sudo apt install -y tcllib + - uses: ./ci diff --git a/.github/workflows/Construct.yml b/.github/workflows/Construct.yml new file mode 100644 index 00000000..a9ba6746 --- /dev/null +++ b/.github/workflows/Construct.yml @@ -0,0 +1,49 @@ +name: Build installers + +on: + workflow_call: + +permissions: + contents: write + +defaults: + run: + shell: bash + +jobs: + openlane-sky130a-installer: + runs-on: "ubuntu-20.04" + steps: + - name: checkout conda-eda + uses: actions/checkout@v3 + with: + fetch-depth: 0 # fetch all tags + + - name: construct installer + run: | + export CI_SCRIPTS_PATH="$(pwd)/ci" + ./ci/install.sh + conda install constructor + constructor installer/openlane.sky130a/ + + - name: archive openlane.sky130a installer + uses: actions/upload-artifact@v3 + with: + name: "openlane-sky130a-installer" + path: | + /home/runner/work/conda-eda/conda-eda/openlane-sky130a-0-Linux-x86_64.sh + + - run: | + git config --local user.name conda-eda@bot + git config --local user.email conda-eda@bot + TAG=$(git describe --tags) + git tag $TAG + git push origin "HEAD:refs/tags/$TAG" + echo "TAG=$TAG" >> $GITHUB_ENV + + - uses: softprops/action-gh-release@v1 + with: + name: ${{ env.TAG }} + tag_name: ${{ env.TAG }} + files: | + openlane-sky130a-installer/*.sh diff --git a/.github/workflows/Upload.yml b/.github/workflows/Upload.yml index a48ad9a4..d8b96b95 100644 --- a/.github/workflows/Upload.yml +++ b/.github/workflows/Upload.yml @@ -47,6 +47,12 @@ jobs: ANACONDA_USER: ${{ secrets.ANACONDA_USER }} + Construct: + needs: Upload + if: always() && (github.event_name != 'pull_request') && (github.ref == 'refs/heads/master') + uses: ./.github/workflows/Construct.yml + + Cleanup: runs-on: ubuntu-20.04 steps: diff --git a/installer/openlane.sky130a/construct.yaml b/installer/openlane.sky130a/construct.yaml new file mode 100644 index 00000000..9ec4f3b4 --- /dev/null +++ b/installer/openlane.sky130a/construct.yaml @@ -0,0 +1,15 @@ +name: openlane-sky130a +version: 0 + +channels: + - https://conda.anaconda.org/litex-hub + - http://repo.anaconda.com/pkgs/main/ + +specs: + - python 3.7* + - conda + - openlane + - open_pdks.sky130a + - xls + +post_install: post_install.sh diff --git a/installer/openlane.sky130a/post_install.sh b/installer/openlane.sky130a/post_install.sh new file mode 100755 index 00000000..25198fb4 --- /dev/null +++ b/installer/openlane.sky130a/post_install.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -ex + +cat >> $PREFIX/share/openlane/install/env.tcl <> $PREFIX/share/openlane/configuration/load_order.txt +# add flow.tcl shortcut +mkdir -p $PREFIX/bin +cat > $PREFIX/bin/flow.tcl <