mirror of
https://github.com/onionshare/onionshare.git
synced 2024-12-25 07:19:41 -05:00
67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
# 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-cli
|
|
- test-gui
|
|
|
|
jobs:
|
|
test-cli:
|
|
docker:
|
|
- image: circleci/python:3.8-buster
|
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
- checkout
|
|
|
|
- run:
|
|
name: Install dependencies
|
|
command: |
|
|
sudo apt-get update
|
|
sudo apt-get -y install tor obfs4proxy
|
|
pip install poetry
|
|
cd ~/repo/cli
|
|
poetry install
|
|
|
|
- run:
|
|
name: Run tests
|
|
command: |
|
|
cd ~/repo/cli
|
|
poetry run pytest -v ./tests
|
|
|
|
test-gui:
|
|
docker:
|
|
- image: circleci/python:3.8-buster
|
|
|
|
working_directory: ~/repo
|
|
|
|
steps:
|
|
- checkout
|
|
|
|
- run:
|
|
name: Install dependencies
|
|
command: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y tor obfs4proxy gcc python3-dev python3-pyside2.qtcore python3-pyside2.qtwidgets python3-pyside2.qtgui
|
|
sudo apt-get install -y xvfb x11-utils libxkbcommon-x11-0 libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev libxcb-render-util0 libxcb-icccm4 libxcb-keysyms1 libxcb-image0
|
|
cd ~/repo/cli
|
|
poetry install
|
|
poetry build
|
|
cp dist/onionshare_cli-*.whl ~/repo/desktop
|
|
cd ~/repo/desktop
|
|
pip install briefcase pytest pytest-briefcase pytest-faulthandler pytest-qt pytest-xvfb
|
|
pip install $(python -c 'import toml; print(" ".join(toml.loads(open("pyproject.toml").read())["tool"]["briefcase"]["app"]["onionshare"]["requires"]))')
|
|
|
|
- run:
|
|
name: Run tests
|
|
command: |
|
|
cd ~/repo/desktop
|
|
./tests/run.sh
|