github/workflows: build openroad #222
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build installers | |
on: | |
push: | |
branch: | |
- 'main' | |
workflow_dispatch: | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
xls: | |
runs-on: 'ubuntu-20.04' | |
env: | |
PACKAGE: 'hls/xls' | |
OS_NAME: 'linux' | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: ./ci | |
openroad: | |
runs-on: 'ubuntu-20.04' | |
env: | |
PACKAGE: 'pnr/openroad' | |
OS_NAME: 'linux' | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: ./ci | |
digital-sky130a-installer: | |
needs: | |
- xls | |
- openroad | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
mkdir -p /tmp/conda-bld/linux-64 | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
conda index /tmp/conda-bld | |
constructor installer/digital.sky130a/ | |
- name: dump checksum | |
run: | | |
md5sum digital.sky130a-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
rm -fR /tmp/conda-bld/linux-64/ | |
bash digital.sky130a-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'digital.sky130a-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/digital.sky130a-0-Linux-x86_64.sh | |
analog-sky130a-installer: | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
constructor installer/analog.sky130a/ | |
- name: dump checksum | |
run: | | |
md5sum analog.sky130a-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
bash analog.sky130a-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'analog.sky130a-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/analog.sky130a-0-Linux-x86_64.sh | |
mixed-signal-sky130a-installer: | |
needs: | |
- xls | |
- openroad | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
mkdir -p /tmp/conda-bld/linux-64 | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
conda index /tmp/conda-bld | |
constructor installer/mixed-signal.sky130a/ | |
- name: dump checksum | |
run: | | |
md5sum mixed-signal.sky130a-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
rm -fR /tmp/conda-bld/linux-64/ | |
bash mixed-signal.sky130a-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'mixed-signal.sky130a-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/mixed-signal.sky130a-0-Linux-x86_64.sh | |
digital-gf180mcuc-installer: | |
needs: | |
- xls | |
- openroad | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
mkdir -p /tmp/conda-bld/linux-64 | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
conda index /tmp/conda-bld | |
constructor installer/digital.gf180mcuc/ | |
- name: dump checksum | |
run: | | |
md5sum digital.gf180mcuc-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
rm -fR /tmp/conda-bld/linux-64/ | |
bash digital.gf180mcuc-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'digital.gf180mcuc-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/digital.gf180mcuc-0-Linux-x86_64.sh | |
analog-gf180mcuc-installer: | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
constructor installer/analog.gf180mcuc/ | |
- name: dump checksum | |
run: | | |
md5sum analog.gf180mcuc-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
bash analog.gf180mcuc-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'analog.gf180mcuc-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/analog.gf180mcuc-0-Linux-x86_64.sh | |
mixed-signal-gf180mcuc-installer: | |
needs: | |
- xls | |
- openroad | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
mkdir -p /tmp/conda-bld/linux-64 | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
conda index /tmp/conda-bld | |
constructor installer/mixed-signal.gf180mcuc/ | |
- name: dump checksum | |
run: | | |
md5sum mixed-signal.gf180mcuc-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
rm -fR /tmp/conda-bld/linux-64/ | |
bash mixed-signal.gf180mcuc-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'mixed-signal.gf180mcuc-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/mixed-signal.gf180mcuc-0-Linux-x86_64.sh | |
mixed-signal-installer: | |
continue-on-error: true | |
needs: | |
- xls | |
- openroad | |
runs-on: 'ubuntu-20.04' | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: installer-env | |
- name: restore xls cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 | |
key: ${{ runner.os }}-xls-${{ github.run_id }} | |
- name: restore openroad cache | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 | |
key: ${{ runner.os }}-openroad-${{ github.run_id }} | |
- name: construct installer | |
run: | | |
conda install ctools::constructor>=3.4.3 conda-build | |
mkdir -p /tmp/conda-bld/linux-64 | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/xls-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
cp /home/runner/work/conda-eda/conda-eda/workdir/conda-env/conda-bld/linux-64/openroad-*.tar.bz2 /tmp/conda-bld/linux-64/ | |
conda index /tmp/conda-bld | |
constructor installer/mixed-signal/ | |
- name: dump checksum | |
run: | | |
md5sum mixed-signal-0-Linux-x86_64.sh | |
- name: smoke test | |
run: | | |
rm -fR /tmp/conda-bld/linux-64/ | |
bash mixed-signal-0-Linux-x86_64.sh -b -p /tmp/env | |
- name: archive installer | |
uses: actions/upload-artifact@v3 | |
with: | |
name: 'mixed-signal-installer' | |
path: | | |
/home/runner/work/conda-eda/conda-eda/mixed-signal-0-Linux-x86_64.sh | |
release: | |
needs: | |
- digital-sky130a-installer | |
- analog-sky130a-installer | |
- mixed-signal-sky130a-installer | |
- digital-gf180mcuc-installer | |
- analog-gf180mcuc-installer | |
- mixed-signal-gf180mcuc-installer | |
- mixed-signal-installer | |
runs-on: 'ubuntu-20.04' | |
steps: | |
- name: checkout conda-eda | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v3 | |
- name: dump checksums | |
run: | | |
md5sum digital*-installer/*.sh analog*-installer/*.sh mixed-signal*-installer/*.sh | |
- run: | | |
git config --local user.name conda-eda@bot | |
git config --local user.email conda-eda@bot | |
TAG=$(git describe) | |
git tag $TAG | |
git push origin "HEAD:refs/tags/$TAG" | |
echo "TAG=$TAG" >> $GITHUB_ENV | |
- run: | | |
cat << EOF > release-notes.md | |
\`\`\` | |
bash ~/Downloads/mixed-signal.gf180mcuc-0-Linux-x86_64.sh -b -p silicon-env/ | |
source silicon-env/bin/activate | |
xschem -v | |
ngspice -v | |
klayout -v | |
codegen_main --version # xls | |
yosys --version | |
sby --help | |
iverilog -V | |
openroad -version | |
netgen -batch quit | |
magic -dnull -noconsole --version | |
echo exit | flow.tcl -interactive # openlane | |
echo \$PDK_ROOT | |
echo \$PDK | |
\`\`\` | |
EOF | |
- uses: softprops/action-gh-release@v1 | |
with: | |
name: ${{ env.TAG }} | |
tag_name: ${{ env.TAG }} | |
body_path: release-notes.md | |
files: | | |
digital*-installer/*.sh | |
analog*-installer/*.sh | |
mixed-signal*-installer/*.sh |