# SPDX-License-Identifier: LGPL-3.0-or-later # See Notices.txt for copyright information on: [push, pull_request] jobs: test: runs-on: debian-12 steps: - uses: https://code.forgejo.org/actions/checkout@v3 with: fetch-depth: 0 - run: | scripts/check-copyright.sh - run: | apt-get update -qq apt-get install -qq \ bison \ build-essential \ ccache \ clang \ cvc5 \ flex \ gawk \ git \ libboost-filesystem-dev \ libboost-python-dev \ libboost-system-dev \ libffi-dev \ libreadline-dev \ lld \ pkg-config \ python3 \ python3-click \ tcl-dev \ z3 \ zlib1g-dev \ - name: Cache ccache dir uses: https://code.forgejo.org/actions/cache@v3 with: path: .ccache key: ${{ runner.os }}-${{ github.sha }} restore-keys: | ${{ runner.os }}- - name: Setup ccache run: | ccache --set-config=cache_dir="${{ github.workspace }}/.ccache" ccache --set-config=compression=true ccache --set-config=compression_level=6 ccache -M 4G ccache -z export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" echo "$PATH" >> "$GITHUB_PATH" - run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.80.1 source "$HOME/.cargo/env" echo "$PATH" >> "$GITHUB_PATH" - run: | git clone --depth=1 --branch=yosys-0.45 https://github.com/YosysHQ/sby.git make -C sby install - run: | git clone --depth=1 --recursive --branch=0.45 https://github.com/YosysHQ/yosys.git make -C yosys -j2 make -C yosys install - run: | wget -O firrtl.tar.gz https://github.com/llvm/circt/releases/download/firtool-1.86.0/firrtl-bin-linux-x64.tar.gz sha256sum -c - <<<'bf6f4ab18ae76f135c944efbd81e25391c31c1bd0617c58ab0592640abefee14 firrtl.tar.gz' tar -xvaf firrtl.tar.gz export PATH="$(realpath firtool-1.86.0/bin):$PATH" echo "$PATH" >> "$GITHUB_PATH" - uses: https://github.com/Swatinem/rust-cache@v2 with: save-if: ${{ github.ref == 'refs/heads/master' }} - run: cargo test - run: cargo build --tests --features=unstable-doc - run: cargo doc --features=unstable-doc