+++ /dev/null
-name: Build and run tests
-
-on: [push, pull_request]
-
-jobs:
- test:
- strategy:
- matrix:
- include:
- - runner: ubuntu-20.04
- config: clang
- cc: clang
- - runner: ubuntu-20.04
- config: gcc
- cc: gcc
- - runner: ubuntu-18.04
- config: gcc
- cc: gcc-4.8
- - runner: ubuntu-18.04
- config: clang
- cc: clang-3.9
- - runner: macOS-10.15
- config: clang
- cc: clang
- runs-on: ${{ matrix.runner }}
- steps:
-
- - uses: actions/checkout@v2
-
- - name: Install dependencies (Linux)
- if: runner.os == 'Linux'
- run: |
- sudo apt-get update
- sudo apt-get install g++ gperf build-essential bison flex libreadline-dev gawk tcl-dev libffi-dev git graphviz xdot pkg-config python python3 libboost-system-dev libboost-python-dev libboost-filesystem-dev zlib1g-dev
-
- - name: Install gcc-4.8
- if: matrix.cc == 'gcc-4.8'
- run: |
- sudo apt-get install g++-4.8
-
- - name: Install clang-3.9
- if: matrix.cc == 'clang-3.9'
- run: |
- sudo apt-get install clang-3.9
-
- - name: Install dependencies (macOS)
- if: runner.os == 'macOS'
- run: |
- brew install bison gawk libffi pkg-config bash
-
- - name: Setup environment (Linux)
- if: runner.os == 'Linux'
- run: |
- echo "procs=$(nproc)" >> $GITHUB_ENV
-
- - name: Setup environment (macOS)
- if: runner.os == 'macOS'
- run: |
- echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
- echo "procs=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
-
- - name: Get iverilog
- run: |
- git clone git://github.com/steveicarus/iverilog.git
-
- - name: Cache iverilog
- id: cache-iverilog
- uses: actions/cache@v2
- with:
- path: iverilog-bin
- key: ${{ matrix.runner }}-${{ hashFiles('iverilog/.git/refs/heads/master') }}
-
- - name: Build iverilog
- if: steps.cache-iverilog.outputs.cache-hit != 'true'
- run: |
- mkdir iverilog-bin
- cd iverilog
- autoconf
- CC=gcc CXX=g++ ./configure --prefix=$PWD/../iverilog-bin
- make -j${{ env.procs }}
- make install
-
- - name: Build yosys
- run: |
- ${{ matrix.cc }} --version
- make config-${{ matrix.config }}
- make -j${{ env.procs }} CC=${{ matrix.cc }} CXX=${{ matrix.cc }} LD=${{ matrix.cc }}
-
- - name: Run tests
- run: |
- PATH=$PWD/iverilog-bin/bin:$PATH make -j${{ env.procs }} test CC=${{ matrix.cc }} CXX=${{ matrix.cc }} LD=${{ matrix.cc }}