onionshare/.circleci/config.yml

161 lines
4.8 KiB
YAML
Raw Normal View History

2022-03-30 00:02:03 -04:00
version: 2.1
orbs:
win: circleci/windows@4.0.0
workflows:
version: 2
2022-03-30 00:05:23 -04:00
test_and_build:
jobs:
- test-cli
- test-gui
- build-win64:
2022-03-30 00:04:39 -04:00
requires:
- test-cli
# - test-gui
- build-win32:
requires:
- test-cli
# - test-gui
2018-10-17 01:51:49 -04:00
jobs:
test-cli:
2018-10-17 01:51:49 -04:00
docker:
- image: cimg/python:3.9
2019-01-16 00:54:39 -05:00
2018-10-17 01:51:49 -04:00
working_directory: ~/repo
steps:
- checkout
2020-03-22 18:32:25 -04:00
- run:
2020-10-14 23:44:21 -04:00
name: Install dependencies
command: |
sudo apt-get update
sudo apt-get -y install tor obfs4proxy
pip install poetry
cd ~/repo/cli
poetry install
2020-03-22 18:32:25 -04:00
2018-10-17 01:51:49 -04:00
- run:
name: Run tests
2018-10-17 01:51:49 -04:00
command: |
cd ~/repo/cli
poetry run pytest -v ./tests
poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2
poetry run onionshare-cli --local-only --receive --auto-stop-timer 2
poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2
poetry run onionshare-cli --local-only --chat --auto-stop-timer 2
2022-03-30 00:02:03 -04:00
test-gui:
docker:
- image: cimg/python:3.9
working_directory: ~/repo
steps:
- checkout
2018-10-17 01:51:49 -04:00
- run:
2020-10-14 23:44:21 -04:00
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
2020-10-14 23:44:21 -04:00
cd ~/repo/desktop
poetry install
2018-10-17 01:58:05 -04:00
2018-10-17 01:59:13 -04:00
- run:
name: Run tests
2018-10-17 01:51:49 -04:00
command: |
cd ~/repo/desktop
2022-03-28 23:13:14 -04:00
QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
2022-03-30 00:02:03 -04:00
build-win64:
2022-03-30 00:02:03 -04:00
executor:
name: win/default
shell: powershell.exe
steps:
- checkout
- run:
name: Install chocolately dependencies
command: |
choco install python --version=3.9.12
choco install 7zip
choco install go
- run:
name: Install poetry
command: (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
- run:
name: Install poetry dependencies
command: |
cd ~\project\desktop
poetry install
- run:
name: Get tor
command: |
cd ~\project\desktop
poetry run python .\scripts\get-tor-windows.py
- run:
name: Build meek
command: |
cd ~\project\desktop
python .\scripts\build-meek-client.py
- run:
name: Build
command: |
cd ~\project\desktop
poetry run python .\package\build-windows.py --ci-build
- run:
name: Compress
command: Compress-Archive -LiteralPath ~\project\desktop\build\exe.win-amd64-3.9 -DestinationPath ~\onionshare-win64.zip
- store_artifacts:
path: ~\onionshare-win64.zip
build-win32:
executor:
name: win/default
shell: powershell.exe
steps:
- checkout
- run:
name: Install chocolately dependencies
command: |
choco install python3 --params "/InstallDir32:C:\Python39-32bit" --version=3.9.12
choco install 7zip
- run:
name: Install golang (32-bit)
command: |
Invoke-WebRequest -Uri https://go.dev/dl/go1.18.windows-386.msi -OutFile ~\Downloads\go1.18.windows-386.msi
msiexec.exe /i "~\Downloads\go1.18.windows-386.msi" /qn
- run:
name: Install poetry (32-bit)
2022-03-30 17:30:49 -04:00
command: C:\Python39-32bit\Scripts\pip install poetry
- run:
name: Install poetry dependencies
command: |
cd ~\project\desktop
2022-03-30 17:30:49 -04:00
C:\Python39-32bit\Scripts\poetry install
- run:
name: Get tor
command: |
cd ~\project\desktop
2022-03-30 17:30:49 -04:00
C:\Python39-32bit\Scripts\poetry run python .\scripts\get-tor-windows.py
- run:
name: Build meek
command: |
cd ~\project\desktop
2022-03-30 17:30:49 -04:00
C:\Python39-32bit\python .\scripts\build-meek-client.py
- run:
name: Build
command: |
cd ~\project\desktop
2022-03-30 17:30:49 -04:00
C:\Python39-32bit\Scripts\poetry run python .\package\build-windows.py --ci-build
- run:
name: Compress
command: Compress-Archive -LiteralPath ~\project\desktop\build\exe.win32-3.9 -DestinationPath ~\onionshare-win32.zip
- store_artifacts:
path: ~\onionshare-win32.zip