2022-03-30 00:02:03 -04:00
|
|
|
version: 2.1
|
|
|
|
|
|
|
|
orbs:
|
|
|
|
win: circleci/windows@4.0.0
|
|
|
|
|
2018-11-25 16:20:05 -05:00
|
|
|
workflows:
|
|
|
|
version: 2
|
2022-05-26 21:01:37 -04:00
|
|
|
ci:
|
2018-11-25 16:20:05 -05:00
|
|
|
jobs:
|
2020-10-14 23:42:20 -04:00
|
|
|
- test-cli
|
2022-06-16 23:03:23 -04:00
|
|
|
- test-gui
|
|
|
|
- build-win64:
|
2022-03-30 00:04:39 -04:00
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-06-20 00:51:06 -04:00
|
|
|
- test-gui
|
2022-06-16 23:03:23 -04:00
|
|
|
- build-win32:
|
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-06-20 00:51:06 -04:00
|
|
|
- test-gui
|
2022-06-19 19:53:15 -04:00
|
|
|
- build-macos:
|
|
|
|
requires:
|
|
|
|
- test-cli
|
2022-06-20 00:51:06 -04:00
|
|
|
- test-gui
|
2018-11-25 16:20:05 -05:00
|
|
|
|
2018-10-17 01:51:49 -04:00
|
|
|
jobs:
|
2020-10-14 23:42:20 -04:00
|
|
|
test-cli:
|
2018-10-17 01:51:49 -04:00
|
|
|
docker:
|
2022-03-28 23:22:14 -04:00
|
|
|
- image: cimg/python:3.9
|
2018-10-17 01:51:49 -04:00
|
|
|
steps:
|
2022-06-03 12:52:29 -04:00
|
|
|
- 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
|
2022-04-19 22:12:30 -04:00
|
|
|
- restore_cache:
|
2022-05-29 15:45:58 -04:00
|
|
|
key: test-cli-poetry-deps-{{ .Environment.CACHE_VERSION }}-{{ checksum "~/project/cli/poetry.lock" }}
|
2022-04-19 22:12:30 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~/project/cli
|
2020-10-14 23:44:21 -04:00
|
|
|
poetry install
|
2022-04-19 22:12:30 -04:00
|
|
|
- save_cache:
|
2022-05-29 15:45:58 -04:00
|
|
|
key: test-cli-poetry-deps-{{ .Environment.CACHE_VERSION }}-{{ checksum "~/project/cli/poetry.lock" }}
|
2022-04-19 22:12:30 -04:00
|
|
|
paths:
|
|
|
|
- /home/circleci/.cache/pypoetry/virtualenvs
|
2018-10-17 01:51:49 -04:00
|
|
|
- run:
|
2020-10-14 23:42:20 -04:00
|
|
|
name: Run tests
|
2018-10-17 01:51:49 -04:00
|
|
|
command: |
|
2022-04-19 22:12:30 -04:00
|
|
|
cd ~/project/cli
|
2020-10-14 23:42:20 -04:00
|
|
|
poetry run pytest -v ./tests
|
2021-11-11 19:43:09 -05: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-30 00:02:03 -04:00
|
|
|
|
2020-10-14 23:42:20 -04:00
|
|
|
test-gui:
|
|
|
|
docker:
|
2022-03-28 23:22:14 -04:00
|
|
|
- image: cimg/python:3.9
|
2020-10-14 23:42:20 -04:00
|
|
|
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
|
2020-11-01 14:50:11 -05: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
|
2022-04-19 22:12:30 -04:00
|
|
|
- restore_cache:
|
2022-05-29 16:04:25 -04:00
|
|
|
key: test-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-19 22:12:30 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
2022-04-19 22:15:49 -04:00
|
|
|
cd ~/project/desktop
|
2021-12-19 20:33:11 -05:00
|
|
|
poetry install
|
2022-04-19 22:12:30 -04:00
|
|
|
- save_cache:
|
2022-05-29 16:04:25 -04:00
|
|
|
key: test-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-19 22:12:30 -04:00
|
|
|
paths:
|
|
|
|
- /home/circleci/.cache/pypoetry/virtualenvs
|
2018-10-17 01:59:13 -04:00
|
|
|
- run:
|
2020-10-14 23:42:20 -04:00
|
|
|
name: Run tests
|
2018-10-17 01:51:49 -04:00
|
|
|
command: |
|
2022-04-19 22:12:30 -04:00
|
|
|
cd ~/project/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
|
|
|
|
2022-05-29 00:40:52 -04:00
|
|
|
build-win64:
|
2022-03-30 00:02:03 -04:00
|
|
|
executor:
|
|
|
|
name: win/default
|
2022-05-29 00:40:52 -04:00
|
|
|
shell: powershell.exe
|
2022-03-30 00:02:03 -04:00
|
|
|
steps:
|
|
|
|
- checkout
|
2022-05-29 00:40:52 -04:00
|
|
|
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
2022-06-19 18:11:50 -04:00
|
|
|
name: Install Python 3.9.13 (64-bit)
|
2022-06-17 00:05:11 -04:00
|
|
|
command: |
|
2022-06-19 18:11:50 -04:00
|
|
|
cd ~\Downloads
|
|
|
|
Invoke-WebRequest -Uri https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe -OutFile python-3.9.13-amd64.exe
|
2022-06-19 19:32:37 -04:00
|
|
|
.\python-3.9.13-amd64.exe /quiet InstallAllUsers=1 TargetDir=C:\Python39
|
2022-06-19 23:04:28 -04:00
|
|
|
while($true) {
|
|
|
|
if ((Test-Path -Path C:\Python39\python.exe) -eq $True) {
|
|
|
|
Write-Output "Python is installed"
|
|
|
|
break
|
|
|
|
} else {
|
|
|
|
Write-Output "Waiting for Python to finish installing ..."
|
|
|
|
Start-Sleep -Seconds 2
|
|
|
|
}
|
|
|
|
}
|
2022-06-17 00:05:11 -04:00
|
|
|
|
|
|
|
- run:
|
|
|
|
name: Install poetry
|
2022-06-19 18:35:47 -04:00
|
|
|
command: C:\Python39\python -m pip install poetry
|
2022-06-17 00:05:11 -04:00
|
|
|
|
2022-06-20 12:24:54 -04:00
|
|
|
# - restore_cache:
|
|
|
|
# key: build-win64-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd C:\Users\circleci\project\desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\scripts\poetry install
|
2022-06-20 12:24:54 -04:00
|
|
|
# - save_cache:
|
|
|
|
# key: build-win64-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
# paths:
|
|
|
|
# - C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
2022-06-17 00:05:11 -04:00
|
|
|
|
|
|
|
- restore_cache:
|
2022-06-19 15:19:21 -04:00
|
|
|
key: get-tor-win64-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
2022-06-19 14:57:37 -04:00
|
|
|
name: Get tor binaries from Tor Browser (64-bit)
|
2022-06-17 00:05:11 -04:00
|
|
|
command: |
|
|
|
|
cd desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\Scripts\poetry run python .\scripts\get-tor.py win64
|
2022-06-17 00:05:11 -04:00
|
|
|
- save_cache:
|
2022-06-19 15:19:21 -04:00
|
|
|
key: get-tor-win64-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
paths:
|
|
|
|
- C:\Users\circleci\project\desktop\build\tor
|
|
|
|
|
2022-06-16 23:04:42 -04:00
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
- run:
|
|
|
|
name: Build obfs4proxy
|
|
|
|
command: |
|
2022-06-19 23:20:53 -04:00
|
|
|
if ((Test-Path -Path 'C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe') -eq $True) {
|
2022-05-29 17:17:16 -04:00
|
|
|
Write-Output "obfs4proxy already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-obfs4proxy.ps1
|
2022-05-29 17:17:16 -04:00
|
|
|
}
|
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
paths:
|
2022-05-29 17:58:25 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe
|
2022-05-29 17:17:16 -04:00
|
|
|
|
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
- run:
|
|
|
|
name: Build snowflake-client
|
|
|
|
command: |
|
2022-06-19 23:20:53 -04:00
|
|
|
if ((Test-Path -Path 'C:\Users\circleci\project\desktop\onionshare\resources\tor\snowflake-client.exe') -eq $True) {
|
2022-05-29 17:17:16 -04:00
|
|
|
Write-Output "snowflake already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-snowflake.ps1
|
2022-05-29 17:17:16 -04:00
|
|
|
}
|
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
paths:
|
2022-05-29 17:58:25 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\snowflake-client.exe
|
2022-05-29 17:17:16 -04:00
|
|
|
|
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-meek-{{ checksum "~/project/desktop/scripts/build-pt-meek.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
- run:
|
|
|
|
name: Build meek-client
|
|
|
|
command: |
|
2022-06-19 23:20:53 -04:00
|
|
|
if ((Test-Path -Path 'C:\Users\circleci\project\desktop\onionshare\resources\tor\meek-client.exe') -eq $True) {
|
2022-05-29 17:17:16 -04:00
|
|
|
Write-Output "snowflake already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-meek.ps1
|
2022-05-29 17:17:16 -04:00
|
|
|
}
|
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win64-meek-{{ checksum "~/project/desktop/scripts/build-pt-meek.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-05-29 17:17:16 -04:00
|
|
|
paths:
|
2022-06-17 00:05:11 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\meek-client.exe
|
2022-06-16 23:03:23 -04:00
|
|
|
|
2022-05-29 18:23:55 -04:00
|
|
|
- run:
|
|
|
|
name: Build OnionShare
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\Scripts\poetry run python .\setup-freeze.py build
|
|
|
|
C:\Python39\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
|
2022-05-29 17:17:16 -04:00
|
|
|
|
2022-05-29 18:23:55 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
|
|
|
command: |
|
|
|
|
mv ~\project\desktop\build\exe.win-amd64-3.9\ ~\onionshare-win64
|
|
|
|
Compress-Archive -LiteralPath ~\onionshare-win64 -DestinationPath ~\onionshare-win64.zip
|
|
|
|
|
|
|
|
- store_artifacts:
|
|
|
|
path: ~\onionshare-win64.zip
|
2022-03-30 15:50:28 -04:00
|
|
|
|
|
|
|
build-win32:
|
|
|
|
executor:
|
|
|
|
name: win/default
|
|
|
|
shell: powershell.exe
|
|
|
|
steps:
|
|
|
|
- checkout
|
2022-05-29 18:59:19 -04:00
|
|
|
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
2022-06-19 18:11:50 -04:00
|
|
|
name: Install Python 3.9.13 (32-bit)
|
2022-06-17 00:05:11 -04:00
|
|
|
command: |
|
2022-06-19 18:11:50 -04:00
|
|
|
cd ~\Downloads
|
|
|
|
Invoke-WebRequest -Uri https://www.python.org/ftp/python/3.9.13/python-3.9.13.exe -OutFile python-3.9.13.exe
|
2022-06-19 19:32:37 -04:00
|
|
|
.\python-3.9.13.exe /quiet InstallAllUsers=1 TargetDir=C:\Python39
|
2022-06-19 23:04:28 -04:00
|
|
|
while($true) {
|
|
|
|
if ((Test-Path -Path C:\Python39\python.exe) -eq $True) {
|
|
|
|
Write-Output "Python is installed"
|
|
|
|
break
|
|
|
|
} else {
|
|
|
|
Write-Output "Waiting for Python to finish installing ..."
|
|
|
|
Start-Sleep -Seconds 2
|
|
|
|
}
|
|
|
|
}
|
2022-06-17 00:05:11 -04:00
|
|
|
|
|
|
|
- run:
|
2022-06-19 18:11:50 -04:00
|
|
|
name: Install poetry
|
2022-06-19 18:35:47 -04:00
|
|
|
command: C:\Python39\python -m pip install poetry
|
2022-06-17 00:05:11 -04:00
|
|
|
|
2022-06-20 12:24:54 -04:00
|
|
|
# - restore_cache:
|
|
|
|
# key: build-win32-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\Scripts\poetry install
|
2022-06-20 12:24:54 -04:00
|
|
|
# - save_cache:
|
|
|
|
# key: build-win32-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
# paths:
|
|
|
|
# - C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
2022-06-17 00:05:11 -04:00
|
|
|
|
|
|
|
- restore_cache:
|
2022-06-19 15:19:21 -04:00
|
|
|
key: get-tor-win32-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
- run:
|
|
|
|
name: Get tor binaries from Tor Browser (32-bit)
|
|
|
|
command: |
|
|
|
|
cd desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\Scripts\poetry run python .\scripts\get-tor.py win32
|
2022-06-17 00:05:11 -04:00
|
|
|
- save_cache:
|
2022-06-19 15:19:21 -04:00
|
|
|
key: get-tor-win32-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
2022-06-17 00:05:11 -04:00
|
|
|
paths:
|
|
|
|
- C:\Users\circleci\project\desktop\build\tor
|
|
|
|
|
2022-03-30 16:49:45 -04:00
|
|
|
- run:
|
2022-03-30 16:56:18 -04:00
|
|
|
name: Install golang (32-bit)
|
2022-03-30 16:49:45 -04:00
|
|
|
command: |
|
2022-03-30 18:52:31 -04: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-05-29 18:59:19 -04:00
|
|
|
|
2022-04-19 21:42:37 -04:00
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
2022-06-19 14:57:37 -04:00
|
|
|
name: Build obfs4proxy
|
2022-04-10 23:49:29 -04:00
|
|
|
command: |
|
2022-05-29 18:59:19 -04:00
|
|
|
if ((Test-Path -Path C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe) -eq $True) {
|
|
|
|
Write-Output "obfs4proxy already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
|
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-obfs4proxy.ps1
|
2022-05-29 18:59:19 -04:00
|
|
|
}
|
2022-04-19 21:42:37 -04:00
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-19 21:42:37 -04:00
|
|
|
paths:
|
2022-05-29 18:59:19 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe
|
|
|
|
|
2022-04-19 21:42:37 -04:00
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-10 19:07:35 -04:00
|
|
|
- run:
|
2022-06-19 14:57:37 -04:00
|
|
|
name: Build snowflake-client
|
2022-03-30 15:50:28 -04:00
|
|
|
command: |
|
2022-05-29 18:59:19 -04:00
|
|
|
if ((Test-Path -Path C:\Users\circleci\project\desktop\onionshare\resources\tor\snowflake-client.exe) -eq $True) {
|
|
|
|
Write-Output "snowflake already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
|
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-snowflake.ps1
|
2022-05-29 18:59:19 -04:00
|
|
|
}
|
2022-04-19 21:42:37 -04:00
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-19 21:42:37 -04:00
|
|
|
paths:
|
2022-05-29 18:59:19 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\snowflake-client.exe
|
|
|
|
|
2022-04-19 21:42:37 -04:00
|
|
|
- restore_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-meek-{{ checksum "~/project/desktop/scripts/build-pt-meek.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-10 19:07:35 -04:00
|
|
|
- run:
|
2022-06-19 14:57:37 -04:00
|
|
|
name: Build meek-client
|
2022-04-10 19:07:35 -04:00
|
|
|
command: |
|
2022-05-29 18:59:19 -04:00
|
|
|
if ((Test-Path -Path C:\Users\circleci\project\desktop\onionshare\resources\tor\meek-client.exe) -eq $True) {
|
|
|
|
Write-Output "snowflake already built"
|
|
|
|
} else {
|
2022-06-19 14:57:37 -04:00
|
|
|
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
|
|
|
|
cd C:\Users\circleci\project\desktop
|
|
|
|
.\scripts\build-pt-meek.ps1
|
2022-05-29 18:59:19 -04:00
|
|
|
}
|
2022-04-19 21:42:37 -04:00
|
|
|
- save_cache:
|
2022-06-19 14:57:37 -04:00
|
|
|
key: build-win32-meek-{{ checksum "~/project/desktop/scripts/build-pt-meek.ps1" }}-{{ .Environment.CACHE_VERSION }}
|
2022-04-19 21:42:37 -04:00
|
|
|
paths:
|
2022-06-17 00:05:11 -04:00
|
|
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\meek-client.exe
|
2022-06-16 23:03:23 -04:00
|
|
|
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
2022-03-31 21:34:41 -04:00
|
|
|
name: Build OnionShare
|
2022-03-30 15:50:28 -04:00
|
|
|
command: |
|
|
|
|
cd ~\project\desktop
|
2022-06-19 18:35:47 -04:00
|
|
|
C:\Python39\Scripts\poetry run python .\setup-freeze.py build
|
|
|
|
C:\Python39\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
|
2022-05-29 18:59:19 -04:00
|
|
|
|
2022-03-30 15:50:28 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-03-31 21:54:32 -04:00
|
|
|
command: |
|
|
|
|
mv ~\project\desktop\build\exe.win32-3.9\ ~\onionshare-win32
|
|
|
|
Compress-Archive -LiteralPath ~\onionshare-win32 -DestinationPath ~\onionshare-win32.zip
|
2022-05-29 18:59:19 -04:00
|
|
|
|
2022-03-30 15:50:28 -04:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~\onionshare-win32.zip
|
2022-03-31 21:54:32 -04:00
|
|
|
|
|
|
|
build-macos:
|
|
|
|
macos:
|
|
|
|
xcode: 12.5.1
|
2022-04-19 21:14:04 -04:00
|
|
|
environment:
|
2022-04-19 22:02:47 -04:00
|
|
|
BINARY_DIR: /Users/distiller/bin
|
2022-03-31 21:54:32 -04:00
|
|
|
steps:
|
|
|
|
- checkout
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
2022-06-19 23:09:00 -04:00
|
|
|
name: Install Go 1.18.3
|
2022-03-31 22:35:26 -04:00
|
|
|
command: |
|
2022-06-19 23:18:25 -04:00
|
|
|
curl -L https://go.dev/dl/go1.18.3.darwin-amd64.pkg --output ~/Downloads/go.pkg
|
2022-06-19 23:09:00 -04:00
|
|
|
sudo installer -pkg ~/Downloads/go.pkg -target /
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
2022-06-19 18:11:50 -04:00
|
|
|
name: Install Python 3.9.13
|
2022-03-31 22:35:26 -04:00
|
|
|
command: |
|
2022-06-19 23:18:25 -04:00
|
|
|
curl -L https://www.python.org/ftp/python/3.9.13/python-3.9.13-macosx10.9.pkg --output ~/Downloads/python.pkg
|
2022-03-31 22:35:26 -04:00
|
|
|
sudo installer -pkg ~/Downloads/python.pkg -target /
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry
|
|
|
|
command: |
|
|
|
|
pip3 install poetry
|
|
|
|
ln -s /Library/Frameworks/Python.framework/Versions/3.9/bin/poetry /usr/local/bin
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-06-19 15:35:25 -04:00
|
|
|
- restore_cache:
|
2022-06-19 15:19:21 -04:00
|
|
|
key: build-macos-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Install poetry dependencies
|
|
|
|
command: |
|
|
|
|
cd ~/project/desktop
|
|
|
|
poetry install
|
2022-06-19 15:19:21 -04:00
|
|
|
- save_cache:
|
|
|
|
key: build-macos-desktop-poetry-deps-{{ checksum "~/project/desktop/poetry.lock" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
paths:
|
|
|
|
- /Users/distiller/Library/Caches/pypoetry/virtualenvs
|
|
|
|
|
|
|
|
- restore_cache:
|
|
|
|
key: get-tor-macos-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Get tor binaries from Tor Browser
|
|
|
|
command: |
|
|
|
|
cd desktop
|
|
|
|
poetry run python ./scripts/get-tor.py macos
|
|
|
|
- save_cache:
|
|
|
|
key: get-tor-macos-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
paths:
|
|
|
|
- ~/project/desktop/build/tor
|
|
|
|
|
|
|
|
- restore_cache:
|
|
|
|
key: build-macos-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Build obfs4proxy
|
|
|
|
command: |
|
2022-06-19 22:57:33 -04:00
|
|
|
if [[ -f "/Users/distiller/project/desktop/onionshare/resources/tor/obfs4proxy" ]]; then
|
2022-06-19 15:19:21 -04:00
|
|
|
echo "obfs4proxy already built"
|
|
|
|
else
|
2022-06-19 22:57:33 -04:00
|
|
|
cd /Users/distiller/project/desktop
|
2022-06-19 15:19:21 -04:00
|
|
|
./scripts/build-pt-obfs4proxy.sh
|
|
|
|
fi
|
|
|
|
- save_cache:
|
|
|
|
key: build-macos-obfs4proxy-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
paths:
|
2022-06-19 22:57:33 -04:00
|
|
|
- /Users/distiller/project/desktop/onionshare/resources/tor/obfs4proxy
|
2022-06-19 15:19:21 -04:00
|
|
|
|
|
|
|
- restore_cache:
|
|
|
|
key: build-macos-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Build snowflake
|
|
|
|
command: |
|
2022-06-19 22:57:33 -04:00
|
|
|
if [[ -f "/Users/distiller/project/desktop/onionshare/resources/tor/snowflake-client" ]]; then
|
2022-06-19 15:19:21 -04:00
|
|
|
echo "snowflake already built"
|
|
|
|
else
|
2022-06-19 22:57:33 -04:00
|
|
|
cd /Users/distiller/project/desktop
|
2022-06-19 15:19:21 -04:00
|
|
|
./scripts/build-pt-snowflake.sh
|
|
|
|
fi
|
|
|
|
- save_cache:
|
|
|
|
key: build-macos-snowflake-{{ checksum "~/project/desktop/scripts/build-pt-snowflake.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
paths:
|
|
|
|
- ~/project/desktop/onionshare/resources/tor/snowflake-client
|
|
|
|
|
|
|
|
- restore_cache:
|
|
|
|
key: build-macos-meek-{{ checksum "~/project/desktop/scripts/build-pt-obfs4proxy.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Build meek
|
|
|
|
command: |
|
2022-06-19 22:57:33 -04:00
|
|
|
if [[ -f "/Users/distiller/project/desktop/onionshare/resources/tor/meek-client" ]]; then
|
2022-06-19 15:19:21 -04:00
|
|
|
echo "meek already built"
|
|
|
|
else
|
2022-06-19 22:57:33 -04:00
|
|
|
cd /Users/distiller/project/desktop
|
2022-06-19 15:19:21 -04:00
|
|
|
./scripts/build-pt-meek.sh
|
|
|
|
fi
|
|
|
|
- save_cache:
|
|
|
|
key: build-macos-meek-{{ checksum "~/project/desktop/scripts/build-pt-meek.sh" }}-{{ .Environment.CACHE_VERSION }}
|
|
|
|
paths:
|
|
|
|
- ~/project/desktop/onionshare/resources/tor/meek-client
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Build OnionShare
|
|
|
|
command: |
|
|
|
|
cd ~/project/desktop
|
2022-04-03 23:21:14 -04:00
|
|
|
poetry run python ./setup-freeze.py build
|
2022-03-31 22:35:26 -04:00
|
|
|
poetry run python ./setup-freeze.py bdist_mac
|
2022-04-03 20:35:41 -04:00
|
|
|
poetry run python ./scripts/build-macos.py cleanup-build
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-03-31 22:35:26 -04:00
|
|
|
- run:
|
|
|
|
name: Compress
|
2022-04-03 23:21:14 -04:00
|
|
|
command: |
|
2022-04-05 20:34:04 -04:00
|
|
|
cd ~/project/desktop/build
|
2022-06-19 22:57:33 -04:00
|
|
|
tar -czvf ~/onionshare-macos.tar.gz OnionShare.app
|
2022-06-19 14:57:37 -04:00
|
|
|
|
2022-03-31 22:35:26 -04:00
|
|
|
- store_artifacts:
|
2022-06-19 19:53:15 -04:00
|
|
|
path: ~/onionshare-macos.tar.gz
|