Skip to content

New flow to determine control signals #1057

New flow to determine control signals

New flow to determine control signals #1057

Workflow file for this run

name: yosys-verific CI
on:
workflow_dispatch:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
linux-gcc:
name: ${{ matrix.mode }}
runs-on: ubuntu-latest
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
mode:
- test
- install
- designEdit
env:
MODE: ${{ matrix.mode }}
steps:
- uses: actions/[email protected]
with:
python-version: 3.8
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
working-directory: ./.github/scripts
run: |
bash install_ubuntu_dependencies_build.sh
- name: Use ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: linux-${{ matrix.mode }}
- name: Configure shell
run: |
echo 'CC=gcc-11' >> $GITHUB_ENV
echo 'CXX=g++-11' >> $GITHUB_ENV
echo 'PATH=/usr/lib/ccache:'"$PATH" >> $GITHUB_ENV
echo 'PREFIX=/tmp/yosys_verific-install' >> $GITHUB_ENV
echo "ADDITIONAL_CMAKE_OPTIONS='-DMY_CXX_WARNING_FLAGS="-W -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Werror -UNDEBUG"'" >> $GITHUB_ENV
echo 'RULE_MESSAGES=off' >> $GITHUB_ENV
- name: Show shell configuration
run: |
env
which cmake && cmake --version
which make && make --version
which python && python --version
which ninja && ninja --version
which $CC && $CC --version
which $CXX && $CXX --version
- name: Test
if: matrix.mode == 'test'
run: |
make release
make test_gen
make clean_test
make test
make clean
make debug
make dtest
- name: Install Test
if: matrix.mode == 'install'
run: |
make release
make install
make clean # make sure we only see installation artifacts
make test_install
- name: Design Edit Test
if: matrix.mode == 'designEdit'
run: |
make
echo "Yosys compiled"
cd design_edit
ls -l ../yosys/install
make test YOSYS_PATH=../yosys/install
centos7-gcc:
name: centos7-gcc
container:
image: centos:7
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Install git
run: |
cd /opt && curl -L -o yumvault.tar.gz https://github.com/os-fpga/post_build_artifacts/releases/download/v0.2/yumvaultn.tar.gz && tar xvzf yumvault.tar.gz && ls -l && mv etc/yum.repos.d/Custom.repo /etc/yum.repos.d
yum-config-manager --disable base extras updates
yum update -y
rm -f /etc/yum.repos.d/Custom.repo
yum-config-manager --enable C7.9.2009-extras C7.9.2009-updates C7.9.2009-base
yum install -y openssh-server openssh-clients
yum-config-manager --enable rhel-server-rhscl-7-rpms
yum install -y https://repo.ius.io/ius-release-el7.rpm
yum install -y centos-release-scl
sed -i 's|^mirrorlist=|#mirrorlist=|' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
sed -i 's|^#baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/|baseurl=http://vault.centos.org/7.9.2009/sclo/$basearch/rh/|' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
sed -i 's|^mirrorlist=|#mirrorlist=|' /etc/yum.repos.d/CentOS-SCLo-scl.repo
sed -i 's|^# baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/|baseurl=http://vault.centos.org/7.9.2009/sclo/$basearch/sclo/|' /etc/yum.repos.d/CentOS-SCLo-scl.repo
yum install -y devtoolset-11
yum install -y devtoolset-11-toolchain
yum remove -y git*
yum install -y https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
yum install -y git
- name: Checkout code
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git init $GITHUB_WORKSPACE
git remote add origin https://github.com/$GITHUB_REPOSITORY
git remote -v
git config --local gc.auto 0
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
git -c protocol.version=2 fetch --prune --progress --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* +${{ github.sha }}:refs/remotes/pull/${{ github.event.pull_request.number }}/merge
git checkout --progress --force refs/remotes/pull/${{ github.event.pull_request.number }}/merge
else
git -c protocol.version=2 fetch --prune --progress --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/*
git checkout origin/$GITHUB_REF_NAME
fi
git log -1 --format='%H'
- name: Install dependencies
working-directory: ./.github/scripts
run: |
bash install_centos_dependencies_build.sh
- name: Configure shell
run: |
echo 'CC=/opt/rh/devtoolset-11/root/usr/bin/gcc' >> $GITHUB_ENV
echo 'CXX=/opt/rh/devtoolset-11/root/usr/bin/g++' >> $GITHUB_ENV
echo "/opt/rh/devtoolset-11/root/usr/bin" >> $GITHUB_PATH
echo 'PREFIX=/tmp/yosys_verific-install' >> $GITHUB_ENV
echo "ADDITIONAL_CMAKE_OPTIONS='-DMY_CXX_WARNING_FLAGS="-W -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Werror -UNDEBUG"'" >> $GITHUB_ENV
echo 'RULE_MESSAGES=off' >> $GITHUB_ENV
- name: Show shell configuration
run: |
env
which gcc
which g++
- name: Configure git
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
- name: Build
run: |
make release
make install
- name: Unit tests
run: |
make clean
make test_install
- name: Design Edit Test
run: |
make clean
make
cd design_edit
make test YOSYS_PATH=../yosys/install
macos-gcc:
if: ${{ false }} # EDA-799
name: macos-gcc
runs-on: macos-latest
steps:
- name: Cancel previous
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Checkout code
uses: actions/checkout@v2
- name: Use ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: macos-gcc
- name: Install dependencies
working-directory: ./.github/scripts
run: |
bash install_macos_dependencies_build.sh
- name: Configure shell
run: |
echo 'CC=gcc-11' >> $GITHUB_ENV
echo 'CXX=g++-11' >> $GITHUB_ENV
echo "/usr/local/opt/coreutils/libexec/gnubin" >> $GITHUB_PATH
echo "PKG_CONFIG_PATH=\"/usr/local/opt/openssl@3/lib/pkgconfig\"" >> $GITHUB_ENV
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
echo "$(brew --prefix)/opt/ccache/libexec" >> $GITHUB_PATH
echo 'PREFIX=${GITHUB_WORKSPACE}/install' >> $GITHUB_ENV
- name: Show shell configuration
run: |
env
which cmake && cmake --version
which make && make --version
which python && python --version
which $CC && $CC --version
which $CXX && $CXX --version
which bison && bison --version
which install && install --version
- name: Build
run: |
make release
make install
- name: Unit tests
run: |
make clean
make test_install
macos-clang:
if: ${{ false }} # EDA-799
name: macos-clang
runs-on: macos-latest
steps:
- name: Cancel previous
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Checkout code
uses: actions/checkout@v2
- name: Use ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: macos-clang
- name: Install dependencies
working-directory: ./.github/scripts
run: |
bash install_macos_dependencies_build.sh
- name: Configure shell
run: |
echo 'PREFIX=${GITHUB_WORKSPACE}/install' >> $GITHUB_ENV
echo "/usr/local/opt/coreutils/libexec/gnubin" >> $GITHUB_PATH
echo "PKG_CONFIG_PATH=\"/usr/local/opt/openssl@3/lib/pkgconfig\"" >> $GITHUB_ENV
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
echo "$(brew --prefix)/opt/ccache/libexec" >> $GITHUB_PATH
- name: Show shell configuration
run: |
env
which cmake && cmake --version
which make && make --version
which python && python --version
which -a bison && bison --version
- name: Build
run: |
make release
make install
- name: Unit tests
run: |
make clean
make test_install