Merge pull request #46 from antmicro/multi-os-test
Run tests on multiple Linux OS versions (using Travis).
This commit is contained in:
commit
2ef044b502
74
.travis.yml
74
.travis.yml
|
@ -1,40 +1,58 @@
|
|||
os: linux
|
||||
dist: focal
|
||||
language: c++
|
||||
language: minimal
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
env:
|
||||
global:
|
||||
- DEBIAN_FRONTEND: noninteractive
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- wget
|
||||
- locales
|
||||
- python3-pip
|
||||
# Testing QuickLogic toolchain on all OSes
|
||||
- TOOLCHAIN=quicklogic OS=ubuntu OS_VERSION=trusty
|
||||
- TOOLCHAIN=quicklogic OS=ubuntu OS_VERSION=xenial
|
||||
- TOOLCHAIN=quicklogic OS=ubuntu OS_VERSION=bionic
|
||||
- TOOLCHAIN=quicklogic OS=ubuntu OS_VERSION=eoan
|
||||
- TOOLCHAIN=quicklogic OS=ubuntu OS_VERSION=focal
|
||||
- TOOLCHAIN=quicklogic OS=centos OS_VERSION=6
|
||||
- TOOLCHAIN=quicklogic OS=centos OS_VERSION=7
|
||||
- TOOLCHAIN=quicklogic OS=centos OS_VERSION=8
|
||||
# Testing Xilinx 7 Series toolchain on all OSes
|
||||
- TOOLCHAIN=xilinx-series-7 OS=ubuntu OS_VERSION=trusty
|
||||
- TOOLCHAIN=xilinx-series-7 OS=ubuntu OS_VERSION=xenial
|
||||
- TOOLCHAIN=xilinx-series-7 OS=ubuntu OS_VERSION=bionic
|
||||
- TOOLCHAIN=xilinx-series-7 OS=ubuntu OS_VERSION=eoan
|
||||
- TOOLCHAIN=xilinx-series-7 OS=ubuntu OS_VERSION=focal
|
||||
- TOOLCHAIN=xilinx-series-7 OS=centos OS_VERSION=6
|
||||
- TOOLCHAIN=xilinx-series-7 OS=centos OS_VERSION=7
|
||||
- TOOLCHAIN=xilinx-series-7 OS=centos OS_VERSION=8
|
||||
|
||||
before_install:
|
||||
- sudo locale-gen "en_US.UTF-8"
|
||||
- export LANG="en_US.UTF-8"
|
||||
- source .github/travis/common.sh
|
||||
- rm README.rst && make README.rst && .github/travis/git-check.sh
|
||||
- pip install git+https://github.com/antmicro/tuttest
|
||||
- tuttest README.rst wget-conda | bash -ex -
|
||||
jobs:
|
||||
include:
|
||||
- stage: SymbiFlow
|
||||
install:
|
||||
- export INSTALL_DIR=$PWD/../opt/symbiflow/xc7
|
||||
- tuttest xc7/README.rst xc7-setup-toolchain | bash -ex -
|
||||
- pip install git+https://github.com/antmicro/tuttest#egg=tuttest
|
||||
|
||||
script:
|
||||
- export INSTALL_DIR=$PWD/../opt/symbiflow/xc7
|
||||
- tuttest xc7/README.rst xc7-prepare-env,xc7-counter,xc7-picosoc,xc7-litex,xc7-linux | bash -ex -
|
||||
install:
|
||||
- export DOCKER_NAME=test
|
||||
- export IN_DOCKER_EXEC="docker exec -t $DOCKER_NAME bash -c"
|
||||
- docker create
|
||||
--name $DOCKER_NAME
|
||||
--env LANG="en_US.UTF-8"
|
||||
--env LANGUAGE="en_US"
|
||||
--env DEBIAN_FRONTEND="noninteractive"
|
||||
--env INSTALL_DIR=~/opt/symbiflow/
|
||||
-v /home/travis:/home/travis
|
||||
--workdir $PWD
|
||||
--tty
|
||||
$OS:$OS_VERSION
|
||||
- docker start $DOCKER_NAME
|
||||
- if [ "$OS" = "ubuntu" ]; then tuttest README.rst install-wget-ubuntu --prefix-lines-with "$IN_DOCKER_EXEC" | bash -ex -; fi
|
||||
- if [ "$OS" = "centos" ]; then tuttest README.rst install-wget-centos --prefix-lines-with "$IN_DOCKER_EXEC" | bash -ex -; fi
|
||||
- tuttest README.rst wget-conda --prefix-lines-with "$IN_DOCKER_EXEC" | bash -ex -
|
||||
- if [ "$TOOLCHAIN" = "xilinx-series-7" ]; then tuttest xc7/README.rst xc7-setup-toolchain --prefix-lines-with "$IN_DOCKER_EXEC" | bash -ex -; fi
|
||||
- if [ "$TOOLCHAIN" = "quicklogic" ]; then tuttest eos-s3/README.rst eoss3-setup-toolchain --prefix-lines-with "$IN_DOCKER_EXEC" | bash -ex -; fi
|
||||
|
||||
- #
|
||||
install:
|
||||
- export INSTALL_DIR=$PWD/../opt/symbiflow/eos-s3
|
||||
- tuttest eos-s3/README.rst eoss3-setup-toolchain | bash -ex -
|
||||
|
||||
script:
|
||||
- export INSTALL_DIR=$PWD/../opt/symbiflow/eos-s3
|
||||
- tuttest eos-s3/README.rst eoss3-prepare-env,eoss3-counter | bash -ex -
|
||||
script:
|
||||
- if [ "$TOOLCHAIN" = "xilinx-series-7" ]; then tuttest xc7/README.rst xc7-prepare-env,xc7-counter,xc7-picosoc,xc7-litex,xc7-linux --prefix-lines-with "$IN_DOCKER_EXEC" --single-command | bash -ex -; fi
|
||||
- if [ "$TOOLCHAIN" = "quicklogic" ]; then tuttest eos-s3/README.rst eoss3-prepare-env,eoss3-counter --prefix-lines-with "$IN_DOCKER_EXEC" --single-command | bash -ex -; fi
|
||||
|
||||
|
|
22
README.rst
22
README.rst
|
@ -22,7 +22,6 @@ The repository includes:
|
|||
|
||||
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
||||
|
||||
|
||||
Clone this repository
|
||||
---------------------
|
||||
|
||||
|
@ -34,6 +33,24 @@ If you have not already done so, clone this repository and ``cd`` into it:
|
|||
git clone https://github.com/SymbiFlow/symbiflow-examples.git && cd symbiflow-examples
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
The only required prerequisite is ``wget``. You can install it using:
|
||||
|
||||
* For Ubuntu:
|
||||
|
||||
.. code:: bash
|
||||
:name: install-wget-ubuntu
|
||||
|
||||
apt update && apt install -y wget
|
||||
|
||||
* For CentOS:
|
||||
|
||||
.. code:: bash
|
||||
:name: install-wget-centos
|
||||
|
||||
yum install -y wget
|
||||
|
||||
Toolchain installation
|
||||
----------------------
|
||||
|
||||
|
@ -84,8 +101,7 @@ and so you will need to add some ``sudo`` commands to the instructions below.
|
|||
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||
conda env create -f eos-s3/environment.yml
|
||||
conda activate eos-s3
|
||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3
|
||||
cp -r $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/
|
||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/EWuqtXJmalROpI2L5XeewMIBRYVCY8H4yc10nlli-Xq79g?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3/
|
||||
conda deactivate
|
||||
|
||||
Build Example Designs
|
||||
|
|
|
@ -22,7 +22,6 @@ The repository includes:
|
|||
|
||||
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
||||
|
||||
|
||||
Clone this repository
|
||||
---------------------
|
||||
|
||||
|
@ -34,6 +33,24 @@ If you have not already done so, clone this repository and ``cd`` into it:
|
|||
git clone https://github.com/SymbiFlow/symbiflow-examples.git && cd symbiflow-examples
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
The only required prerequisite is ``wget``. You can install it using:
|
||||
|
||||
* For Ubuntu:
|
||||
|
||||
.. code:: bash
|
||||
:name: install-wget-ubuntu
|
||||
|
||||
apt update && apt install -y wget
|
||||
|
||||
* For CentOS:
|
||||
|
||||
.. code:: bash
|
||||
:name: install-wget-centos
|
||||
|
||||
yum install -y wget
|
||||
|
||||
Toolchain installation
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -33,8 +33,7 @@ Choose the installation directory (see the `README <../README.rst>`_ one level u
|
|||
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||
conda env create -f eos-s3/environment.yml
|
||||
conda activate eos-s3
|
||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3
|
||||
cp -r $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/
|
||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/EWuqtXJmalROpI2L5XeewMIBRYVCY8H4yc10nlli-Xq79g?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3/
|
||||
conda deactivate
|
||||
|
||||
.. toolchain_include_end_label
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
name: eos-s3
|
||||
channels:
|
||||
- conda-forge
|
||||
- quicklogic-corp
|
||||
- quicklogic-corp/label/ql
|
||||
dependencies:
|
||||
- quicklogic-corp::yosys=0.6.0_0013_g2478b28
|
||||
- quicklogic-corp::yosys-plugins=0.1.0_0005_g6bbbc9b
|
||||
- quicklogic-corp::vtr=v8.0.0_rc2_4006_g36a4d4b
|
||||
- yosys=0.5_7972_g4045d484=20200817_053125
|
||||
- yosys-plugins=1.2.0_0009_g9ab211c=20200817_053125
|
||||
- vtr=v8.0.0_rc2_4003_g8980e4621=20200817_053125
|
||||
- make
|
||||
- lxml
|
||||
- simplejson
|
||||
- intervaltree
|
||||
- git
|
||||
- pip
|
||||
- coreutils
|
||||
- util-linux
|
||||
# Packages installed from PyPI
|
||||
- pip:
|
||||
- -r file:requirements.txt
|
||||
|
|
Loading…
Reference in New Issue