11name : Linux tests
22
3- on :
3+ " on " :
44 push : {branches: [master]}
55 pull_request : {branches: [master]}
66
77jobs :
88 test :
9- runs-on : ubuntu-20 .04
9+ runs-on : ubuntu-24 .04
1010 timeout-minutes : 30
1111 strategy :
1212 fail-fast : false
1313 matrix :
1414 imgtag :
15- - 2.7-buster
16- - 3.4-stretch
17- - 3.5-buster
18- - 3.6-buster
19- - 3.7-buster
20- - 3.8-bullseye
21- - 3.9-bullseye
22- - 3.10-bullseye
15+ - 3.6-bullseye
16+ - 3.7-bullseye
17+ - 3.8-bookworm
18+ - 3.9-bookworm
19+ - 3.10-bookworm
20+ - 3.11-bookworm
21+ - 3.12-bookworm
22+ - 3.13-bookworm
2323 paramiko_ver :
24- - 2.6.4
25- - 2.7.10
26- - 2.8.8
24+ - 2.6.6
25+ - 2.7.12
26+ - 2.8.10
2727 container : " python:${{matrix.imgtag}}"
2828 steps :
29- - uses : actions/checkout@v2
29+ - uses : actions/checkout@v4
3030 - name : System dependencies
3131 run : |
3232 apt-get -q -y update
3333 apt-get -q -y install openssh-client openssh-server rsync sudo
34- if [ 3.4-stretch = "${{matrix.imgtag}}" ]; then
35- sed -i -e '/^mesg n/d' /root/.profile
36- fi
3734 - name : Python dependencies
3835 run : |
39- # nose and Fudge need use_2to3 which setuptools-58 removed
40- pip install 'setuptools<58'
41- # nose binary wheel is not compatible with python-3.10
42- # see https://github.com/nose-devs/nose/issues/1099#issuecomment-577412313
43- pip install --no-binary nose -r dev-requirements.txt
36+ pip install -r dev-requirements.txt
4437 pip install paramiko-ng==${{matrix.paramiko_ver}}
4538 pip install -e .
4639 - name : Lint
@@ -50,10 +43,10 @@ jobs:
5043 - name : Setup SSH
5144 run : |
5245 export USER=root HOME=/root
53- mkdir -v /run/sshd
46+ mkdir -v -p /run/sshd
5447 /usr/sbin/sshd -D & sleep 1
55- mkdir -v ~/.ssh
56- ssh-keygen -N "" -f ~/.ssh/testkey
48+ mkdir -v -p ~/.ssh
49+ ssh-keygen -t ecdsa - N "" -f ~/.ssh/testkey
5750 cp -v ~/.ssh/testkey.pub ~/.ssh/authorized_keys
5851 ssh-keyscan -t ecdsa localhost > ~/.ssh/known_hosts
5952 - name : Test
@@ -65,19 +58,19 @@ jobs:
6558 script -e -q -c "fab -H localhost test:integration" /dev/null
6659
6760 docs :
68- runs-on : ubuntu-20 .04
61+ runs-on : ubuntu-24 .04
6962 timeout-minutes : 30
63+ container : " python:3.9-bookworm"
64+
7065 steps :
71- - uses : actions/checkout@v2
72- - uses : actions/setup-python@v1
73- with :
74- python-version : 3.8
66+ - uses : actions/checkout@v4
7567
7668 - name : Install dependencies
7769 run : |
7870 pip install -r doc-requirements.txt
79- pip install paramiko-ng==2.8.4
71+ pip install paramiko-ng==2.8.10
8072 pip install -e .
73+
8174 - name : Build docs
8275 run : |
8376 sphinx-build -W sites/docs tmpbuild
0 commit comments