diff --git a/.travis.yml b/.travis.yml index e430b99..22d5e8b 100644 --- a/.travis.yml +++ b/.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 diff --git a/README.rst b/README.rst index e6cf601..43b3bf0 100644 --- a/README.rst +++ b/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 diff --git a/README.src.rst b/README.src.rst index abbaf93..eb6becc 100644 --- a/README.src.rst +++ b/README.src.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 ---------------------- diff --git a/eos-s3/README.rst b/eos-s3/README.rst index e379617..ef166a2 100644 --- a/eos-s3/README.rst +++ b/eos-s3/README.rst @@ -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 diff --git a/eos-s3/environment.yml b/eos-s3/environment.yml index f28ee91..df1432d 100644 --- a/eos-s3/environment.yml +++ b/eos-s3/environment.yml @@ -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