# Copyright (C) 2020-2021  The SymbiFlow Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier:ISC

name: CI tests

on: [push, pull_request]

jobs:

  Run-tests:
    runs-on: ubuntu-latest
    steps:

    - uses: actions/checkout@v2

    - uses: actions/setup-python@v2

    - name: Install
      run: |
        sudo apt-get update
        sudo apt-get install git g++-9 build-essential bison flex \
          libreadline-dev gawk tcl-dev libffi-dev git graphviz xdot \
          pkg-config libboost-system-dev libboost-python-dev \
          libboost-filesystem-dev zlib1g-dev clang-format-8 cmake

    - name: ccache
      uses: hendrikmuhs/ccache-action@v1

    - name: Install Yosys
      run: |
        export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
        source .github/workflows/setup.sh
      env:
        OS: ${{ runner.os }}

    - name: Build and test plugins
      run: source .github/workflows/build-and-test.sh
      env:
        OS: ${{ runner.os }}

    - name: Format
      run: source .github/workflows/format-check.sh
      env:
        OS: ${{ runner.os }}
