summaryrefslogtreecommitdiffstats
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml90
1 files changed, 90 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..d43dffa65
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,90 @@
+name: Deluge CI
+
+on:
+ push:
+ pull_request:
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+jobs:
+ test-linux:
+ runs-on: ubuntu-20.04
+
+ 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: "3.8"
+
+ - name: Cache pip
+ uses: actions/cache@v2
+ with:
+ path: ~/.cache/pip
+ # 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: Add libtorrent deb repository
+ uses: myci-actions/add-deb-repo@8
+ with:
+ repo: deb http://ppa.launchpad.net/libtorrent.org/1.2-daily/ubuntu focal main
+ repo-name: libtorrent
+ keys: 58E5430D9667FAEFFCA0B93F32309D6B9E009EDB
+ key-server: keyserver.ubuntu.com
+ install: python3-libtorrent
+
+ - name: Install dependencies
+ run: |
+ pip install --upgrade pip wheel
+ pip install -r requirements.txt -r requirements-tests.txt
+ pip install -e .
+
+ - name: Test with pytest
+ run: |
+ cp /usr/lib/python3/dist-packages/libtorrent*.so $GITHUB_WORKSPACE/deluge
+ python -c 'from deluge._libtorrent import lt; print(lt.__version__)';
+ pytest -m "not (todo or gtkui or security)" deluge
+
+ test-windows:
+ runs-on: windows-latest
+
+ 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: "3.6"
+
+ - 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: |
+ python -m pip install --upgrade pip wheel certifi
+ python -m pip install deluge-libtorrent
+ pip install -r requirements.txt -r requirements-tests.txt
+ pip install -e .
+
+ - name: Test with pytest
+ run: |
+ python -c 'import libtorrent as lt; print(lt.__version__)';
+ pytest -m "not (todo or gtkui or security)" deluge