mirror of
https://github.com/logos-storage/deluge.git
synced 2026-01-03 21:53:10 +00:00
The latest Pillow 10 does not support Py3.7 therefore wheels are no longer available and we need to specify previous major version. Older versions of setuptools do not correctly determine the Twisted requirement for zope.interface>5 on Python 3.7 so ensure latest installed. For the CD builds we don't want any surprises so keep the setuptools version pinned. Refs: https://pillow.readthedocs.io/en/stable/installation.html Closes: https://github.com/deluge-torrent/deluge/pull/433
101 lines
3.1 KiB
YAML
101 lines
3.1 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:
|
|
inputs:
|
|
ref:
|
|
description: "Enter a tag or commit to package"
|
|
default: ""
|
|
|
|
jobs:
|
|
windows_package:
|
|
runs-on: windows-2022
|
|
if: (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'package'))
|
|
strategy:
|
|
matrix:
|
|
arch: [x64, x86]
|
|
python: ["3.9"]
|
|
libtorrent: [2.0.7, 1.2.19]
|
|
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
# Checkout Deluge source to subdir to enable packaging any tag/commit
|
|
- name: Checkout Deluge source
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: ${{ github.event.inputs.ref }}
|
|
fetch-depth: 0
|
|
path: deluge_src
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python}}
|
|
architecture: ${{ matrix.arch }}
|
|
cache: pip
|
|
|
|
- name: Prepare pip
|
|
run: python -m pip install wheel setuptools==68.*
|
|
|
|
- name: Install GTK
|
|
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
|
|
echo "C:\GTK\release\lib" | Out-File -FilePath $env:GITHUB_PATH -Append
|
|
echo "C:\GTK\release\bin" | Out-File -FilePath $env:GITHUB_PATH -Append
|
|
echo "C:\GTK\release" | Out-File -FilePath $env:GITHUB_PATH -Append
|
|
python -m pip install --no-index --find-links="C:\GTK\release\python" pycairo PyGObject
|
|
|
|
- name: Install Python dependencies
|
|
run: >
|
|
python -m pip install
|
|
twisted[tls]==22.4.0
|
|
libtorrent==${{ matrix.libtorrent }}
|
|
pyinstaller==4.10
|
|
pygame
|
|
-r requirements.txt
|
|
|
|
- name: Install Deluge
|
|
working-directory: deluge_src
|
|
run: |
|
|
python -m pip install .
|
|
python setup.py install_scripts
|
|
|
|
- name: Freeze Deluge
|
|
working-directory: packaging/win
|
|
run: |
|
|
pyinstaller --clean delugewin.spec --distpath freeze
|
|
|
|
- name: Fix OpenSSL for libtorrent x64
|
|
if: ${{ matrix.arch == 'x64' }}
|
|
working-directory: packaging/win/freeze/Deluge
|
|
run: |
|
|
cp libssl-1_1.dll libssl-1_1-x64.dll
|
|
cp libcrypto-1_1.dll 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@v3
|
|
with:
|
|
name: deluge-py${{ matrix.python }}-lt${{ matrix.libtorrent }}-${{ matrix.arch }}
|
|
path: packaging/win/*.exe
|