name: ci on: [push, pull_request] jobs: build: runs-on: ubuntu-20.04 steps: # Checkout Repository - name: Checkout uses: actions/checkout@v2 - name: Setup CCache uses: hendrikmuhs/ccache-action@v1 - uses: ghdl/setup-ghdl-ci@nightly with: backend: llvm # Install Tools - name: Install Tools run: | sudo apt-get install wget build-essential python3 ninja-build sudo apt-get install libevent-dev libjson-c-dev flex bison sudo apt-get install libfl-dev libfl2 zlibc zlib1g-dev pip3 install setuptools pip3 install requests pip3 install pexpect pip3 install meson # Install (n)Migen / LiteX / Cores - name: Install LiteX run: | python3 litex_setup.py --config=full --init --install --user # Install GCC Toolchains - name: Install GCC Toolchains run: | python3 litex_setup.py --gcc=riscv sudo mkdir /usr/local/riscv sudo cp -r $PWD/../riscv64-*/* /usr/local/riscv python3 litex_setup.py --gcc=openrisc sudo mkdir /usr/local/openrisc sudo cp -r $PWD/../openrisc-*/* /usr/local/openrisc sudo apt install gcc-powerpc64le-linux-gnu binutils-multiarch # Build / Install Verilator - name: Build Verilator run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" git clone https://github.com/verilator/verilator cd verilator autoconf ./configure make -j$(nproc) sudo make install # Install Project - name: Install Project run: python3 setup.py develop --user # Test - name: Run Tests run: | export PATH=/usr/local/riscv/bin:$PATH export PATH=/usr/local/openrisc/bin:$PATH python3 setup.py test