2022-03-29 21:02:03 -07:00
|
|
|
version: 2.1
|
|
|
|
|
|
|
|
orbs:
|
|
|
|
win: circleci/windows@4.0.0
|
|
|
|
|
2018-11-26 08:20:05 +11:00
|
|
|
workflows:
|
|
|
|
version: 2
|
2022-03-29 21:05:23 -07:00
|
|
|
test_and_build:
|
2018-11-26 08:20:05 +11:00
|
|
|
jobs:
|
2020-10-14 20:42:20 -07:00
|
|
|
- test-cli
|
|
|
|
- test-gui
|
2022-03-29 21:59:39 -07:00
|
|
|
- build-win64:
|
2022-03-29 21:04:39 -07:00
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-03-29 21:11:46 -07:00
|
|
|
# - test-gui
|
2022-03-30 12:50:28 -07:00
|
|
|
- build-win32:
|
|
|
|
requires:
|
|
|
|
- test-cli
|
|
|
|
# - test-gui
|
2018-11-26 08:20:05 +11:00
|
|
|
|
2018-10-17 16:51:49 +11:00
|
|
|
jobs:
|
2020-10-14 20:42:20 -07:00
|
|
|
test-cli:
|
2018-10-17 16:51:49 +11:00
|
|
|
docker:
|
2022-03-28 20:22:14 -07:00
|
|
|
- image: cimg/python:3.9
|
2019-01-15 21:54:39 -08:00
|
|
|
|
2018-10-17 16:51:49 +11:00
|
|
|
working_directory: ~/repo
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
|
2020-03-22 15:32:25 -07:00
|
|
|
- run:
|
2020-10-14 20:44:21 -07: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 15:32:25 -07:00
|
|
|
|
2018-10-17 16:51:49 +11:00
|
|
|
- run:
|
2020-10-14 20:42:20 -07:00
|
|
|
name: Run tests
|
2018-10-17 16:51:49 +11:00
|
|
|
command: |
|
2020-10-14 20:42:20 -07:00
|
|
|
cd ~/repo/cli
|
|
|
|
poetry run pytest -v ./tests
|
2021-11-12 11:43:09 +11:00
|
|
|
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-29 21:02:03 -07:00
|
|
|
|
2020-10-14 20:42:20 -07:00
|
|
|
test-gui:
|
|
|
|
docker:
|
2022-03-28 20:22:14 -07:00
|
|
|
- image: cimg/python:3.9
|
2020-10-14 20:42:20 -07:00
|
|
|
|
|
|
|
working_directory: ~/repo
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
2018-10-17 16:51:49 +11:00
|
|
|
|
|
|
|
- run:
|
2020-10-14 20:44:21 -07:00
|
|
|
name: Install dependencies
|
|
|
|
command: |
|
|
|
|
sudo apt-get update
|
2020-11-01 11:50:11 -08:00
|
|
|
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 20:44:21 -07:00
|
|
|
cd ~/repo/desktop
|
2021-12-19 17:33:11 -08:00
|
|
|
poetry install
|
2018-10-17 16:58:05 +11:00
|
|
|
|
2018-10-17 16:59:13 +11:00
|
|
|
- run:
|
2020-10-14 20:42:20 -07:00
|
|
|
name: Run tests
|
2018-10-17 16:51:49 +11:00
|
|
|
command: |
|
2020-10-14 20:42:20 -07:00
|
|
|
cd ~/repo/desktop
|
2022-03-28 20:13:14 -07:00
|
|
|
QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
|
2022-03-29 21:02:03 -07:00
|
|
|
|
2022-03-29 21:59:39 -07:00
|
|
|
build-win64:
|
2022-03-29 21:02:03 -07:00
|
|
|
executor:
|
|
|
|
name: win/default
|
|
|
|
shell: powershell.exe
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
2022-03-29 21:59:39 -07:00
|
|
|
- run:
|
2022-03-31 18:40:36 -07:00
|
|
|
name: Install Python 3.9.12
|
2022-03-29 21:59:39 -07:00
|
|
|
command: |
|
|
|
|
choco install python --version=3.9.12
|
|
|
|
- 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: |
|
2022-03-30 08:29:16 -07:00
|
|
|
cd ~\project\desktop
|
2022-03-29 21:59:39 -07:00
|
|
|
poetry install
|
2022-03-30 08:55:04 -07:00
|
|
|
- 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
|
2022-03-30 08:29:16 -07:00
|
|
|
- run:
|
2022-03-31 18:34:41 -07:00
|
|
|
name: Build OnionShare
|
2022-03-30 08:29:16 -07:00
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-31 18:34:41 -07:00
|
|
|
poetry run python .\setup-freeze.py build
|
|
|
|
poetry run python .\package\windows.py cleanup-build
|
2022-03-30 08:55:04 -07:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-03-31 18:40:36 -07:00
|
|
|
command: Compress-Archive -LiteralPath ~\project\desktop\build\exe.win-amd64-3.9\* -DestinationPath ~\onionshare-win64.zip
|
2022-03-30 08:55:04 -07:00
|
|
|
- store_artifacts:
|
2022-03-30 12:26:00 -07:00
|
|
|
path: ~\onionshare-win64.zip
|
2022-03-30 12:50:28 -07:00
|
|
|
|
|
|
|
build-win32:
|
|
|
|
executor:
|
|
|
|
name: win/default
|
|
|
|
shell: powershell.exe
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2022-03-31 18:40:36 -07:00
|
|
|
name: Install Python 3.9.12 (32-bit)
|
2022-03-30 12:50:28 -07:00
|
|
|
command: |
|
2022-03-30 15:52:31 -07:00
|
|
|
choco install python3 --params "/InstallDir32:C:\Python-32bit" --version=3.9.12
|
2022-03-30 13:49:45 -07:00
|
|
|
- run:
|
2022-03-30 13:56:18 -07:00
|
|
|
name: Install golang (32-bit)
|
2022-03-30 13:49:45 -07:00
|
|
|
command: |
|
2022-03-30 15:52:31 -07:00
|
|
|
cd ~\Downloads
|
|
|
|
Invoke-WebRequest -Uri https://go.dev/dl/go1.18.windows-386.msi -OutFile go1.18.windows-386.msi
|
|
|
|
msiexec.exe /i go1.18.windows-386.msi /quiet /L*V go-install.log
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
2022-03-30 13:56:18 -07:00
|
|
|
name: Install poetry (32-bit)
|
2022-03-30 15:52:31 -07:00
|
|
|
command: C:\Python-32bit\Scripts\pip install poetry
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 15:52:31 -07:00
|
|
|
C:\Python-32bit\Scripts\poetry install
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
|
|
|
name: Get tor
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 15:52:31 -07:00
|
|
|
C:\Python-32bit\Scripts\poetry run python .\scripts\get-tor-windows.py
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
|
|
|
name: Build meek
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 15:52:31 -07:00
|
|
|
C:\Python-32bit\python .\scripts\build-meek-client.py
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
2022-03-31 18:34:41 -07:00
|
|
|
name: Build OnionShare
|
2022-03-30 12:50:28 -07:00
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-03-30 16:09:31 -07:00
|
|
|
C:\Python-32bit\Scripts\poetry run python .\setup-freeze.py build
|
2022-03-31 18:34:41 -07:00
|
|
|
C:\Python-32bit\Scripts\poetry run python .\package\windows.py cleanup-build
|
2022-03-30 12:50:28 -07:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-03-31 18:40:36 -07:00
|
|
|
command: Compress-Archive -LiteralPath ~\project\desktop\build\exe.win32-3.9\* -DestinationPath ~\onionshare-win32.zip
|
2022-03-30 12:50:28 -07:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~\onionshare-win32.zip
|