Try installing new Python from python.org

This commit is contained in:
Micah Lee 2022-10-02 11:03:28 -07:00
parent 04d0027130
commit fdd76a7708
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73
2 changed files with 198 additions and 193 deletions

View File

@ -11,209 +11,218 @@ on:
- stable - stable
jobs: jobs:
build-win64: # build-win64:
runs-on: windows-latest # runs-on: windows-latest
steps: # steps:
- uses: actions/checkout@v3 # - uses: actions/checkout@v3
- name: Install poetry # - name: Install poetry
run: C:\hostedtoolcache\windows\Python\3.9.13\x64\python -m pip install poetry # run: C:\hostedtoolcache\windows\Python\3.9.13\x64\python -m pip install poetry
- name: Restore cache - poetry # - name: Restore cache - poetry
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: ~\AppData\Local\pypoetry\Cache\virtualenvs # path: ~\AppData\Local\pypoetry\Cache\virtualenvs
key: ${{ runner.os }}-win64-poetry-${{ hashFiles('desktop/poetry.lock') }} # key: ${{ runner.os }}-win64-poetry-${{ hashFiles('desktop/poetry.lock') }}
- name: Install poetry dependencies # - name: Install poetry dependencies
run: | # run: |
cd desktop # cd desktop
C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry install # C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry install
C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry env list --full-path # C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry env list --full-path
- name: Restore cache - tor # - name: Restore cache - tor
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\build\tor # path: desktop\build\tor
key: ${{ runner.os }}-win64-tor-${{ hashFiles('desktop/scripts/get-tor.py') }} # key: ${{ runner.os }}-win64-tor-${{ hashFiles('desktop/scripts/get-tor.py') }}
- name: Get tor binaries from Tor Browser (64-bit) # - name: Get tor binaries from Tor Browser (64-bit)
run: cd desktop && C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\scripts\get-tor.py win64 # run: cd desktop && C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\scripts\get-tor.py win64
- name: Restore cache - obfs4proxy # - name: Restore cache - obfs4proxy
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\obfs4proxy.exe # path: desktop\onionshare\resources\tor\obfs4proxy.exe
key: ${{ runner.os }}-win64-obfs4proxy-${{ hashFiles('desktop/scripts/build-pt-obfs4proxy.ps1') }} # key: ${{ runner.os }}-win64-obfs4proxy-${{ hashFiles('desktop/scripts/build-pt-obfs4proxy.ps1') }}
- name: Build obfs4proxy # - name: Build obfs4proxy
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\obfs4proxy.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\obfs4proxy.exe') -eq $True) {
Write-Output "obfs4proxy already built" # Write-Output "obfs4proxy already built"
} else { # } else {
cd desktop # cd desktop
.\scripts\build-pt-obfs4proxy.ps1 # .\scripts\build-pt-obfs4proxy.ps1
} # }
- name: Restore cache - snowflake # - name: Restore cache - snowflake
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\snowflake-client.exe # path: desktop\onionshare\resources\tor\snowflake-client.exe
key: ${{ runner.os }}-win64-snowflake-${{ hashFiles('desktop/scripts/build-pt-snowflake.ps1') }} # key: ${{ runner.os }}-win64-snowflake-${{ hashFiles('desktop/scripts/build-pt-snowflake.ps1') }}
- name: Build snowflake # - name: Build snowflake
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\snowflake-client.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\snowflake-client.exe') -eq $True) {
Write-Output "snowflake already built" # Write-Output "snowflake already built"
} else { # } else {
cd desktop # cd desktop
.\scripts\build-pt-snowflake.ps1 # .\scripts\build-pt-snowflake.ps1
} # }
- name: Restore cache - meek # - name: Restore cache - meek
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\meek-client.exe # path: desktop\onionshare\resources\tor\meek-client.exe
key: ${{ runner.os }}-win64-meek-${{ hashFiles('desktop/scripts/build-pt-meek.ps1') }} # key: ${{ runner.os }}-win64-meek-${{ hashFiles('desktop/scripts/build-pt-meek.ps1') }}
- name: Build meek # - name: Build meek
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\meek-client.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\meek-client.exe') -eq $True) {
Write-Output "meek already built" # Write-Output "meek already built"
} else { # } else {
cd desktop # cd desktop
.\scripts\build-pt-meek.ps1 # .\scripts\build-pt-meek.ps1
} # }
- name: Build OnionShare # - name: Build OnionShare
run: | # run: |
cd desktop # cd desktop
C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\setup-freeze.py build # C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\setup-freeze.py build
C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\scripts\build-windows.py cleanup-build # C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
- name: Compress # - name: Compress
shell: pwsh # shell: pwsh
run: | # run: |
mv desktop\build\exe.win-amd64-3.9\ ~\onionshare-win64 # mv desktop\build\exe.win-amd64-3.9\ ~\onionshare-win64
Compress-Archive -LiteralPath ~\onionshare-win64 -DestinationPath ~\onionshare-win64.zip # Compress-Archive -LiteralPath ~\onionshare-win64 -DestinationPath ~\onionshare-win64.zip
- uses: actions/upload-artifact@v3 # - uses: actions/upload-artifact@v3
with: # with:
name: win64-build # name: win64-build
path: desktop\build\exe.win-amd64-3.9= # path: desktop\build\exe.win-amd64-3.9=
build-win32: # build-win32:
runs-on: windows-latest # runs-on: windows-latest
steps: # steps:
- uses: actions/checkout@v3 # - uses: actions/checkout@v3
- name: Install poetry # - name: Install poetry
run: C:\hostedtoolcache\windows\Python\3.9.13\x86\python -m pip install poetry # run: C:\hostedtoolcache\windows\Python\3.9.13\x86\python -m pip install poetry
- name: Restore cache - poetry # - name: Restore cache - poetry
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: ~\AppData\Local\pypoetry\Cache\virtualenvs # path: ~\AppData\Local\pypoetry\Cache\virtualenvs
key: ${{ runner.os }}-win32-poetry-${{ hashFiles('desktop/poetry.lock') }} # key: ${{ runner.os }}-win32-poetry-${{ hashFiles('desktop/poetry.lock') }}
- name: Install poetry dependencies # - name: Install poetry dependencies
run: | # run: |
cd desktop # cd desktop
C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry install # C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry install
C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry env list --full-path # C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry env list --full-path
- name: Restore cache - tor # - name: Restore cache - tor
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\build\tor # path: desktop\build\tor
key: ${{ runner.os }}-win32-tor-${{ hashFiles('desktop/scripts/get-tor.py') }} # key: ${{ runner.os }}-win32-tor-${{ hashFiles('desktop/scripts/get-tor.py') }}
- name: Get tor binaries from Tor Browser (32-bit) # - name: Get tor binaries from Tor Browser (32-bit)
run: cd desktop && C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\scripts\get-tor.py win32 # run: cd desktop && C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\scripts\get-tor.py win32
- name: Install golang (32-bit) # - name: Install golang (32-bit)
shell: pwsh # shell: pwsh
run: | # run: |
cd ~\Downloads # cd ~\Downloads
Invoke-WebRequest -Uri https://go.dev/dl/go1.19.1.windows-386.msi -OutFile go1.19.1.windows-386.msi # Invoke-WebRequest -Uri https://go.dev/dl/go1.19.1.windows-386.msi -OutFile go1.19.1.windows-386.msi
msiexec.exe /i go1.19.1.windows-386.msi /quiet /L*V go-install.log # msiexec.exe /i go1.19.1.windows-386.msi /quiet /L*V go-install.log
- name: Restore cache - obfs4proxy # - name: Restore cache - obfs4proxy
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\obfs4proxy.exe # path: desktop\onionshare\resources\tor\obfs4proxy.exe
key: ${{ runner.os }}-win32-obfs4proxy-${{ hashFiles('desktop/scripts/build-pt-obfs4proxy.ps1') }} # key: ${{ runner.os }}-win32-obfs4proxy-${{ hashFiles('desktop/scripts/build-pt-obfs4proxy.ps1') }}
- name: Build obfs4proxy # - name: Build obfs4proxy
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\obfs4proxy.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\obfs4proxy.exe') -eq $True) {
Write-Output "obfs4proxy already built" # Write-Output "obfs4proxy already built"
} else { # } else {
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH" # $env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
cd desktop # cd desktop
.\scripts\build-pt-obfs4proxy.ps1 # .\scripts\build-pt-obfs4proxy.ps1
} # }
- name: Restore cache - snowflake # - name: Restore cache - snowflake
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\snowflake-client.exe # path: desktop\onionshare\resources\tor\snowflake-client.exe
key: ${{ runner.os }}-win32-snowflake-${{ hashFiles('desktop/scripts/build-pt-snowflake.ps1') }} # key: ${{ runner.os }}-win32-snowflake-${{ hashFiles('desktop/scripts/build-pt-snowflake.ps1') }}
- name: Build snowflake # - name: Build snowflake
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\snowflake-client.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\snowflake-client.exe') -eq $True) {
Write-Output "snowflake already built" # Write-Output "snowflake already built"
} else { # } else {
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH" # $env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
cd desktop # cd desktop
.\scripts\build-pt-snowflake.ps1 # .\scripts\build-pt-snowflake.ps1
} # }
- name: Restore cache - meek # - name: Restore cache - meek
uses: actions/cache@v3 # uses: actions/cache@v3
with: # with:
path: desktop\onionshare\resources\tor\meek-client.exe # path: desktop\onionshare\resources\tor\meek-client.exe
key: ${{ runner.os }}-win32-meek-${{ hashFiles('desktop/scripts/build-pt-meek.ps1') }} # key: ${{ runner.os }}-win32-meek-${{ hashFiles('desktop/scripts/build-pt-meek.ps1') }}
- name: Build meek # - name: Build meek
shell: pwsh # shell: pwsh
run: | # run: |
if ((Test-Path -Path 'desktop\onionshare\resources\tor\meek-client.exe') -eq $True) { # if ((Test-Path -Path 'desktop\onionshare\resources\tor\meek-client.exe') -eq $True) {
Write-Output "meek already built" # Write-Output "meek already built"
} else { # } else {
$env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH" # $env:PATH = "C:\Program Files (x86)\Go\bin\go;$env:PATH"
cd desktop # cd desktop
.\scripts\build-pt-meek.ps1 # .\scripts\build-pt-meek.ps1
} # }
- name: Build OnionShare # - name: Build OnionShare
run: | # run: |
cd desktop # cd desktop
C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\setup-freeze.py build # C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\setup-freeze.py build
C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\scripts\build-windows.py cleanup-build # C:\hostedtoolcache\windows\Python\3.9.13\x86\Scripts\poetry run python .\scripts\build-windows.py cleanup-build
- name: Compress # - name: Compress
shell: pwsh # shell: pwsh
run: | # run: |
mv desktop\build\exe.win32-3.9\ ~\onionshare-win32 # mv desktop\build\exe.win32-3.9\ ~\onionshare-win32
Compress-Archive -LiteralPath ~\onionshare-win32 -DestinationPath ~\onionshare-win32.zip # Compress-Archive -LiteralPath ~\onionshare-win32 -DestinationPath ~\onionshare-win32.zip
- uses: actions/upload-artifact@v3 # - uses: actions/upload-artifact@v3
with: # with:
name: win32-build # name: win32-build
path: ~\onionshare-win32.zip # path: ~\onionshare-win32.zip
build-mac: build-mac:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Python 3.9.13
run: |
which python3
curl -L https://www.python.org/ftp/python/3.9.13/python-3.9.13-macosx10.9.pkg --output ~/Downloads/python.pkg
sudo installer -pkg ~/Downloads/python.pkg -target /
which python3
ls -l /Applications
ls -l /Applications/Python*
- name: Install poetry - name: Install poetry
run: python3 -m pip install poetry run: python3 -m pip install poetry
@ -282,9 +291,7 @@ jobs:
- name: Build OnionShare - name: Build OnionShare
run: | run: |
sed -i '' "s|\.\./cli|$(pwd)/cli|g" desktop/pyproject.toml
cd desktop cd desktop
poetry update
poetry run python ./setup-freeze.py build poetry run python ./setup-freeze.py build
poetry run python ./setup-freeze.py bdist_mac poetry run python ./setup-freeze.py bdist_mac
poetry run python ./scripts/build-macos.py cleanup-build poetry run python ./scripts/build-macos.py cleanup-build

View File

@ -1,6 +1,6 @@
name: Run Tests name: Run Tests
run-name: Run tests run-name: Run tests
on: [push] # on: [push]
jobs: jobs:
test-cli: test-cli:
@ -28,26 +28,24 @@ jobs:
poetry run onionshare-cli --local-only --website ../docs --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 poetry run onionshare-cli --local-only --chat --auto-stop-timer 2
# skip desktop tests during dev, because they're so slow test-desktop:
runs-on: ubuntu-latest
# test-desktop: steps:
# runs-on: ubuntu-latest - uses: actions/checkout@v3
# steps: - uses: actions/setup-python@v4
# - uses: actions/checkout@v3 with:
# - uses: actions/setup-python@v4 python-version: '3.9'
# with: - name: Install dependencies
# python-version: '3.9' run: |
# - name: Install dependencies sudo apt-get update
# run: | sudo apt-get install -y tor obfs4proxy gcc python3-dev python3-pyside2.qtcore python3-pyside2.qtwidgets python3-pyside2.qtgui
# sudo apt-get update 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
# sudo apt-get install -y tor obfs4proxy gcc python3-dev python3-pyside2.qtcore python3-pyside2.qtwidgets python3-pyside2.qtgui pip install --upgrade pip poetry
# 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 - uses: actions/cache@v3
# pip install --upgrade pip poetry with:
# - uses: actions/cache@v3 path: ~/.cache/pypoetry/virtualenvs
# with: key: ${{ runner.os }}-desktop-poetry-${{ hashFiles('desktop/poetry.lock') }}
# path: ~/.cache/pypoetry/virtualenvs - run: cd desktop && poetry install
# key: ${{ runner.os }}-desktop-poetry-${{ hashFiles('desktop/poetry.lock') }} - run: |
# - run: cd desktop && poetry install cd desktop
# - run: | QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
# cd desktop
# QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py