# To run the tests, CircleCI needs these environment variables: # QT_EMAIL - email address for a Qt account # QT_PASSWORD - password for a Qt account # (Unfortunately you can't install Qt without logging in.) version: 2 workflows: version: 2 test: jobs: - test-3.6 - test-3.7 - test-3.8 jobs: test-3.6: &test-template docker: - image: circleci/python:3.6-buster working_directory: ~/repo steps: - checkout - run: name: Install Qt5 binaries command: | sudo apt-get update sudo apt-get install xvfb libdbus-1-3 libxkbcommon-x11-0 libxkbcommon-x11-dev cd ~/ wget https://download.qt.io/official_releases/qt/5.14/5.14.0/qt-opensource-linux-x64-5.14.0.run chmod +x qt-opensource-linux-x64-5.14.0.run xvfb-run ./qt-opensource-linux-x64-5.14.0.run --script ~/repo/.circleci/qt-installer-script.js --platform minimal --verbose - run: name: Install dependencies command: | sudo apt-get update sudo apt-get install -y python3-pip xvfb tor obfs4proxy sudo pip3 install poetry flake8 poetry install - run: name: Run flake tests command: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - run: name: Run unit tests command: | xvfb-run -s "-screen 0 1280x1024x24" poetry run ./tests/run.sh --rungui test-3.7: <<: *test-template docker: - image: circleci/python:3.7-buster test-3.8: <<: *test-template docker: - image: circleci/python:3.8-buster