diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:38:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:38:38 +0000 |
commit | 2e2851dc13d73352530dd4495c7e05603b2e520d (patch) | |
tree | 622b9cd8e5d32091c9aa9e4937b533975a40356c /.github/workflows/cd.yml | |
parent | Initial commit. (diff) | |
download | deluge-upstream/2.1.2_dev0+20240219.tar.xz deluge-upstream/2.1.2_dev0+20240219.zip |
Adding upstream version 2.1.2~dev0+20240219.upstream/2.1.2_dev0+20240219upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github/workflows/cd.yml')
-rw-r--r-- | .github/workflows/cd.yml | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..8ef9010 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,104 @@ +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 + # Pillow no longer provides 32-bit wheels for Windows + # so specify only-binary to install old version. + run: > + python -m pip install + --only-binary=pillow + twisted[tls]==22.8.0 + libtorrent==${{ matrix.libtorrent }} + pyinstaller + 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: Verify Deluge exes + working-directory: packaging/win/freeze/Deluge/ + run: | + deluge-debug.exe -v + deluged-debug.exe -v + deluge-web-debug.exe -v + deluge-console -v + + - 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 |