mirror of
https://github.com/codex-storage/deluge.git
synced 2025-02-16 21:36:40 +00:00
Include arch in artifacts so they can be downloaded separately Added libtorrent 2.0 to matrix since users often request latest libtorrent. Renamed workflow to make it's purpose clearer
90 lines
3.5 KiB
YAML
90 lines
3.5 KiB
YAML
name: Package
|
||
|
||
on:
|
||
push:
|
||
tags:
|
||
- "deluge-*"
|
||
- "!deluge*-dev*"
|
||
branches:
|
||
- develop
|
||
pull_request:
|
||
types: [labeled, opened, synchronize, reopened]
|
||
|
||
# Allows you to run this workflow manually from the Actions tab
|
||
workflow_dispatch:
|
||
|
||
jobs:
|
||
windows_package:
|
||
runs-on: windows-latest
|
||
if: (github.event_name != 'pull_request' || github.event.label.name == 'windows')
|
||
strategy:
|
||
matrix:
|
||
arch: [x64, x86]
|
||
python: [3.9]
|
||
libtorrent: [2.0.5, 1.2.15]
|
||
|
||
steps:
|
||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||
- uses: actions/checkout@v2
|
||
with:
|
||
fetch-depth: 0
|
||
|
||
- name: Set up Python
|
||
uses: actions/setup-python@v2
|
||
with:
|
||
python-version: ${{ matrix.python}}
|
||
architecture: ${{ matrix.arch }}
|
||
|
||
- name: Cache pip
|
||
uses: actions/cache@v2
|
||
with:
|
||
path: '%LOCALAPPDATA%\pip\Cache'
|
||
# Look to see if there is a cache hit for the corresponding requirements file
|
||
key: ${{ runner.os }}-pip-${{ hashFiles('tox.ini', 'setup.py', 'requirements*.txt') }}
|
||
restore-keys: |
|
||
${{ runner.os }}-pip-
|
||
${{ runner.os }}-
|
||
|
||
- name: Install dependencies
|
||
run: |
|
||
$WebClient = New-Object System.Net.WebClient
|
||
$WebClient.DownloadFile("https://github.com/deluge-torrent/gvsbuild-release/releases/download/latest/gvsbuild-py${{ matrix.python }}-vs16-${{ matrix.arch }}.zip","C:\GTK.zip")
|
||
7z x C:\GTK.zip -oc:\GTK
|
||
$env:Path = "C:\GTK\release;C:\GTK\release\bin;C:\GTK\release\lib;$env:Path"
|
||
python -m pip install --upgrade pip wheel
|
||
$pycairopath = Get-Childitem –Path "C:\GTK\release\python\" -Include pycairo*.whl -File -Recurse -ErrorAction SilentlyContinue | select -expand FullName
|
||
$PyGObjectpath = Get-Childitem –Path "C:\GTK\release\python\" -Include PyGObject*.whl -File -Recurse -ErrorAction SilentlyContinue | select -expand FullName
|
||
pip install $pycairopath
|
||
pip install $PyGObjectpath
|
||
pip install https://github.com/doadin/twisted/releases/download/latest/Twisted-21.7.0.post0-py3-none-any.whl
|
||
python -m pip install libtorrent==${{ matrix.libtorrent }}
|
||
pip install -r requirements.txt
|
||
pip install pyinstaller
|
||
|
||
- name: Install Deluge
|
||
run: |
|
||
pip install .
|
||
python setup.py install_scripts
|
||
|
||
- name: Freeze Deluge
|
||
run: |
|
||
$env:Path = "C:\GTK\release;C:\GTK\release\bin;C:\GTK\release\lib;$env:Path"
|
||
pyinstaller --clean $env:GITHUB_WORKSPACE\packaging\win\delugewin.spec --distpath $env:GITHUB_WORKSPACE\packaging\win\freeze
|
||
|
||
- name: Fix OpenSSL For Libtorrent
|
||
if: ${{ matrix.arch == 'x64' }}
|
||
run: |
|
||
Copy-Item -Path $env:GITHUB_WORKSPACE\packaging\win\freeze\Deluge\libssl-1_1.dll -Destination $env:GITHUB_WORKSPACE\packaging\win\freeze\Deluge\libssl-1_1-x64.dll
|
||
Copy-Item -Path $env:GITHUB_WORKSPACE\packaging\win\freeze\Deluge\libcrypto-1_1.dll -Destination $env:GITHUB_WORKSPACE\packaging\win\freeze\Deluge\libcrypto-1_1-x64.dll
|
||
|
||
- name: Make Deluge Installer
|
||
working-directory: ./packaging/win
|
||
run: |
|
||
python setup_nsis.py
|
||
makensis /Darch=${{ matrix.arch }} deluge-win-installer.nsi
|
||
|
||
- uses: actions/upload-artifact@v2
|
||
with:
|
||
name: deluge-py${{ matrix.python }}-lt${{ matrix.libtorrent }}-${{ matrix.arch }}
|
||
path: packaging/win/*.exe
|