Skip to content

Commit f87c821

Browse files
CI: deploy cli in GitHub Actions (#140)
1 parent 2759e93 commit f87c821

File tree

2 files changed

+118
-26
lines changed

2 files changed

+118
-26
lines changed

.github/workflows/build.yml

Lines changed: 116 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,110 @@ name: build
66
on: [push, pull_request]
77

88
env:
9-
DELUGE_1_HOST: ${{ secrets.DELUGE_1_HOST }}
10-
DELUGE_1_USERNAME: ${{ secrets.DELUGE_1_USERNAME }}
11-
DELUGE_1_PASSWORD: ${{ secrets.DELUGE_1_PASSWORD }}
12-
DELUGE_2_HOST: ${{ secrets.DELUGE_2_HOST }}
13-
DELUGE_2_USERNAME: ${{ secrets.DELUGE_2_USERNAME }}
14-
DELUGE_2_PASSWORD: ${{ secrets.DELUGE_2_PASSWORD }}
15-
QBITTORRENT_3_HOST: ${{ secrets.QBITTORRENT_3_HOST }}
16-
QBITTORRENT_3_USERNAME: ${{ secrets.QBITTORRENT_3_USERNAME }}
17-
QBITTORRENT_3_PASSWORD: ${{ secrets.QBITTORRENT_3_PASSWORD }}
18-
QBITTORRENT_4_HOST: ${{ secrets.QBITTORRENT_4_HOST }}
19-
QBITTORRENT_4_USERNAME: ${{ secrets.QBITTORRENT_4_USERNAME }}
20-
QBITTORRENT_4_PASSWORD: ${{ secrets.QBITTORRENT_4_PASSWORD }}
21-
TRANSMISSION_2_8_HOST: ${{ secrets.TRANSMISSION_2_8_HOST }}
22-
TRANSMISSION_2_8_USERNAME: ${{ secrets.TRANSMISSION_2_8_USERNAME }}
23-
TRANSMISSION_2_8_PASSWORD: ${{ secrets.TRANSMISSION_2_8_PASSWORD }}
24-
TRANSMISSION_2_9_HOST: ${{ secrets.TRANSMISSION_2_9_HOST }}
25-
TRANSMISSION_2_9_USERNAME: ${{ secrets.TRANSMISSION_2_9_USERNAME }}
26-
TRANSMISSION_2_9_PASSWORD: ${{ secrets.TRANSMISSION_2_9_PASSWORD }}
27-
UTORRENT_HOST: ${{ secrets.UTORRENT_HOST }}
28-
UTORRENT_USERNAME: ${{ secrets.UTORRENT_USERNAME }}
29-
UTORRENT_PASSWORD: ${{ secrets.UTORRENT_PASSWORD }}
9+
DELUGE_1_HOST: localhost:48846
10+
DELUGE_1_USERNAME: localclient
11+
DELUGE_1_PASSWORD: set-later
12+
DELUGE_2_HOST: localhost:58846
13+
DELUGE_2_USERNAME: localclient
14+
DELUGE_2_PASSWORD: set-later
15+
QBITTORRENT_3_HOST: http://localhost:18080
16+
QBITTORRENT_3_USERNAME: admin
17+
QBITTORRENT_3_PASSWORD: adminadmin
18+
QBITTORRENT_4_HOST: http://localhost:8080
19+
QBITTORRENT_4_USERNAME: admin
20+
QBITTORRENT_4_PASSWORD: adminadmin
21+
TRANSMISSION_2_8_HOST: http://localhost:19091
22+
TRANSMISSION_2_8_USERNAME: username
23+
TRANSMISSION_2_8_PASSWORD: password
24+
TRANSMISSION_2_9_HOST: http://localhost:9091
25+
TRANSMISSION_2_9_USERNAME: username
26+
TRANSMISSION_2_9_PASSWORD: password
27+
UTORRENT_HOST: http://localhost:28080
28+
UTORRENT_USERNAME: admin
29+
UTORRENT_PASSWORD:
3030

3131
jobs:
3232
build:
3333
runs-on: ubuntu-latest
34+
services:
35+
qbittorrent-latest:
36+
image: lscr.io/linuxserver/qbittorrent:latest
37+
env:
38+
PUID: 1000
39+
PGID: 1000
40+
TZ: Europe/London
41+
WEBUI_PORT: 8080
42+
ports:
43+
- 8080:8080
44+
- 20000:6881
45+
- 20000:6881/udp
46+
qbittorrent-3:
47+
image: wernight/qbittorrent:3.3.3
48+
env:
49+
PUID: 1001
50+
PGID: 1001
51+
TZ: Europe/London
52+
ports:
53+
- 18080:8080
54+
- 20001:6881
55+
- 20001:6881/udp
56+
transmission-latest:
57+
image: lscr.io/linuxserver/transmission:latest
58+
env:
59+
PUID: 2000
60+
PGID: 2000
61+
TZ: Europe/London
62+
TRANSMISSION_WEB_HOME: /combustion-release/
63+
USER: username
64+
PASS: password
65+
ports:
66+
- 9091:9091
67+
- 20002:51413
68+
- 20002:51413/udp
69+
transmission-294:
70+
image: linuxserver/transmission:2.94-r3-ls53
71+
env:
72+
PUID: 2001
73+
PGID: 2001
74+
USER: username
75+
PASS: password
76+
ports:
77+
- 19091:9091
78+
- 20003:51413
79+
- 20003:51413/udp
80+
deluge-latest:
81+
image: lscr.io/linuxserver/deluge:latest
82+
env:
83+
PUID: 3000
84+
PGID: 3000
85+
TZ: Europe/London
86+
volumes:
87+
- /tmp/deluge-latest/config:/config
88+
ports:
89+
- 58846:58846
90+
- 20004:6881
91+
- 20004:6881/udp
92+
deluge-1:
93+
image: linuxserver/deluge:amd64-ab9135a6-ls19
94+
env:
95+
PUID: 3001
96+
PGID: 3001
97+
TZ: Europe/London
98+
volumes:
99+
- /tmp/deluge-1/config:/config
100+
ports:
101+
- 48846:58846
102+
- 20005:6881
103+
- 20005:6881/udp
104+
utorrent-latest:
105+
image: ekho/utorrent:latest
106+
env:
107+
UID: 4000
108+
GID: 4000
109+
ports:
110+
- 28080:8080
111+
- 20006:6881
112+
- 20006:6881/udp
34113
strategy:
35114
fail-fast: false
36115
matrix:
@@ -64,11 +143,24 @@ jobs:
64143
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
65144
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
66145
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
146+
- name: Allow remote access of Deluge Daemon
147+
run: |
148+
docker stop ${{ job.services.deluge-latest.id }}
149+
docker stop ${{ job.services.deluge-1.id }}
150+
sudo sed -i 's/"allow_remote": false/"allow_remote": true/g' /tmp/deluge-latest/config/core.conf
151+
sudo sed -i 's/"allow_remote": false/"allow_remote": true/g' /tmp/deluge-1/config/core.conf
152+
docker start ${{ job.services.deluge-latest.id }}
153+
docker start ${{ job.services.deluge-1.id }}
154+
- name: Extract passwords of Deluge Daemon
155+
run: |
156+
echo "DELUGE_2_PASSWORD=$(sudo cat /tmp/deluge-latest/config/auth | sed 's/.*:\(.*\):.*/\1/g')" >> $GITHUB_ENV
157+
echo "DELUGE_1_PASSWORD=$(sudo cat /tmp/deluge-1/config/auth | sed 's/.*:\(.*\):.*/\1/g')" >> $GITHUB_ENV
158+
- name: Sleep for a while
159+
run: |
160+
sleep $((10 + $RANDOM % 50))
67161
- name: Test with pytest
68162
run: |
69-
# reduce clients pressure
70-
sleep $(($RANDOM % 60))
71-
py.test -s --cov-report=xml --cov
163+
py.test -s --cov-report=xml --cov --log-level=INFO
72164
- name: Save coverage report
73165
uses: actions/upload-artifact@v2
74166
with:
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
task:
22
client: qbittorrent
33
host: $(QBITTORRENT_4_HOST)
4-
username: admin
5-
password: adminadmin
4+
username: wrongusername
5+
password: wrongpassword
66
exceptions:
77
- LoginFailure

0 commit comments

Comments
 (0)