From: Marcelina Koƛcielnicka Date: Wed, 17 Mar 2021 18:32:50 +0000 (+0100) Subject: Add simple CI using github actions. X-Git-Tag: yosys-0.10~241 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a12617ec0713aeb81fbf4beede804545f762a1f;p=yosys.git Add simple CI using github actions. --- diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..401589cd8 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,87 @@ +name: Build and run tests + +on: [push, pull_request] + +jobs: + test-linux: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v2 + + - name: Install dependencies + 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: 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: ${{ runner.os }}-${{ 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$(nproc) + make install + + - name: Build yosys + run: | + make -j$(nproc) + + - name: Run tests + run: | + PATH=$PWD/iverilog-bin/bin:$PATH make -j$(nproc) test + + test-osx: + runs-on: macos-latest + steps: + + - uses: actions/checkout@v2 + + - name: Install dependencies + run: | + brew update + brew tap Homebrew/bundle + brew bundle + + - 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: ${{ runner.os }}-${{ hashFiles('iverilog/.git/refs/heads/master') }} + + - name: Build iverilog + if: steps.cache-iverilog.outputs.cache-hit != 'true' + run: | + export PATH="$(brew --prefix bison)/bin:$PATH" + mkdir iverilog-bin + cd iverilog + autoconf + CC=gcc CXX=g++ ./configure --prefix=$PWD/../iverilog-bin + make -j$(sysctl -n hw.ncpu) + make install + + - name: Build yosys + run: | + export PATH="$(brew --prefix bison)/bin:$PATH" + make -j$(sysctl -n hw.ncpu) + + - name: Run tests + run: | + PATH=$PWD/iverilog-bin/bin:$PATH make -j$(sysctl -n hw.ncpu) test