8
8
pip --no-cache-dir"
9
9
10
10
jobs :
11
- tests_py27 :
12
- runs-on : ubuntu-20.04
13
- container : python:2.7
11
+ tests_py2x :
12
+ runs-on : ubuntu-22.04
13
+ container :
14
+ image : python:2.7
14
15
strategy :
15
16
fail-fast : false
17
+ matrix :
18
+ toxenv : [py27, py27-configparser]
16
19
17
20
steps :
18
21
- uses : actions/checkout@v4
@@ -21,56 +24,66 @@ jobs:
21
24
run : $PIP install virtualenv tox
22
25
23
26
- name : Run the unit tests
24
- run : TOXENV=py27 tox
27
+ run : TOXENV=${{ matrix.toxenv }} tox
25
28
26
29
- name : Run the end-to-end tests
27
- run : TOXENV=py27 END_TO_END=1 tox
30
+ run : TOXENV=${{ matrix.toxenv }} END_TO_END=1 tox
28
31
29
- tests_py34 :
30
- runs-on : ubuntu-20.04
31
- strategy :
32
- fail-fast : false
32
+ test_py34 :
33
+ runs-on : ubuntu-22.04
34
+ container :
35
+ image : ubuntu:20.04
36
+ env :
37
+ LANG : C.UTF-8
33
38
34
39
steps :
35
40
- uses : actions/checkout@v4
36
41
37
- - name : Build OpenSSL 1.0.2 (required by Python 3.4)
42
+ - name : Install build dependencies
38
43
run : |
39
- sudo apt-get install build-essential zlib1g-dev
44
+ apt-get update
45
+ apt-get install -y build-essential unzip wget \
46
+ libncurses5-dev libgdbm-dev libnss3-dev \
47
+ libreadline-dev zlib1g-dev
40
48
49
+ - name : Build OpenSSL 1.0.2 (required by Python 3.4)
50
+ run : |
41
51
cd $RUNNER_TEMP
42
52
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_0_2u/openssl-1.0.2u.tar.gz
43
53
tar -xf openssl-1.0.2u.tar.gz
44
54
cd openssl-1.0.2u
45
55
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib-dynamic
46
56
make
47
- sudo make install
57
+ make install
48
58
49
- echo CFLAGS="-I/usr/local/ssl/include $CFLAGS" >> $GITHUB_ENV
59
+ echo CFLAGS="-I/usr/local/ssl/include $CFLAGS" >> $GITHUB_ENV
50
60
echo LDFLAGS="-L/usr/local/ssl/lib $LDFLAGS" >> $GITHUB_ENV
51
61
echo LD_LIBRARY_PATH="/usr/local/ssl/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
52
62
53
- sudo ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib/libssl.so.1.0.0
54
- sudo ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.1.0.0
55
- sudo ldconfig
63
+ ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib/libssl.so.1.0.0
64
+ ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.1.0.0
65
+ ldconfig
56
66
57
67
- name : Build Python 3.4
58
68
run : |
59
- sudo apt-get install build-essential libncurses5-dev libgdbm-dev libnss3-dev libreadline-dev zlib1g-dev
60
-
61
69
cd $RUNNER_TEMP
62
70
wget -O cpython-3.4.10.zip https://github.com/python/cpython/archive/refs/tags/v3.4.10.zip
63
71
unzip cpython-3.4.10.zip
64
72
cd cpython-3.4.10
65
- ./configure
73
+ ./configure --with-ensurepip=install
66
74
make
67
- sudo make install
75
+ make install
68
76
69
77
python3.4 --version
70
78
python3.4 -c 'import ssl'
79
+ pip3.4 --version
71
80
72
- - name : Install dependencies
73
- run : $PIP install virtualenv==20.4.7 tox==3.28.0
81
+ ln -s /usr/local/bin/python3.4 /usr/local/bin/python
82
+ ln -s /usr/local/bin/pip3.4 /usr/local/bin/pip
83
+
84
+ - name : Install Python dependencies
85
+ run : |
86
+ $PIP install virtualenv==20.4.7 tox==3.14.0
74
87
75
88
- name : Run the unit tests
76
89
run : TOXENV=py34 tox
@@ -79,40 +92,49 @@ jobs:
79
92
run : TOXENV=py34 END_TO_END=1 tox
80
93
81
94
tests_py35 :
82
- runs-on : ubuntu-20.04
95
+ runs-on : ubuntu-22.04
96
+ container :
97
+ image : python:3.5
83
98
strategy :
84
99
fail-fast : false
85
100
86
101
steps :
87
102
- uses : actions/checkout@v4
88
103
89
- - name : Work around pip SSL cert verify error
90
- run : sudo $PIP config set global.trusted-host 'pypi.python.org pypi.org files.pythonhosted.org'
104
+ - name : Install dependencies
105
+ run : $PIP install virtualenv tox
91
106
92
- - name : Set up Python 3.5
93
- uses : actions/setup-python@v5
94
- with :
95
- python-version : 3.5
107
+ - name : Run the unit tests
108
+ run : TOXENV=py35 tox
109
+
110
+ - name : Run the end-to-end tests
111
+ run : TOXENV=py35 END_TO_END=1 tox
112
+
113
+ tests_py36 :
114
+ runs-on : ubuntu-22.04
115
+ container :
116
+ image : python:3.6
117
+ strategy :
118
+ fail-fast : false
119
+
120
+ steps :
121
+ - uses : actions/checkout@v4
96
122
97
123
- name : Install dependencies
98
124
run : $PIP install virtualenv tox
99
125
100
- - name : Set variable for TOXENV based on Python version
101
- id : toxenv
102
- run : python -c 'import sys; print("TOXENV=py%d%d" % (sys.version_info.major, sys.version_info.minor))' | tee -a $GITHUB_OUTPUT
103
-
104
126
- name : Run the unit tests
105
- run : TOXENV=${{steps.toxenv.outputs.TOXENV}} tox
127
+ run : TOXENV=py36 tox
106
128
107
129
- name : Run the end-to-end tests
108
- run : TOXENV=${{steps.toxenv.outputs.TOXENV}} END_TO_END=1 tox
130
+ run : TOXENV=py36 END_TO_END=1 tox
109
131
110
132
tests_py3x :
111
- runs-on : ubuntu-20 .04
133
+ runs-on : ubuntu-22 .04
112
134
strategy :
113
135
fail-fast : false
114
136
matrix :
115
- python-version : [3.6, 3. 7, 3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
137
+ python-version : [3.7, 3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
116
138
117
139
steps :
118
140
- uses : actions/checkout@v4
@@ -136,8 +158,9 @@ jobs:
136
158
run : TOXENV=${{steps.toxenv.outputs.TOXENV}} END_TO_END=1 tox
137
159
138
160
coverage_py27 :
139
- runs-on : ubuntu-20.04
140
- container : python:2.7
161
+ runs-on : ubuntu-22.04
162
+ container :
163
+ image : python:2.7
141
164
strategy :
142
165
fail-fast : false
143
166
@@ -151,7 +174,7 @@ jobs:
151
174
run : TOXENV=cover tox
152
175
153
176
coverage_py3x :
154
- runs-on : ubuntu-20 .04
177
+ runs-on : ubuntu-22 .04
155
178
strategy :
156
179
fail-fast : false
157
180
matrix :
@@ -172,7 +195,7 @@ jobs:
172
195
run : TOXENV=cover3 tox
173
196
174
197
docs :
175
- runs-on : ubuntu-20 .04
198
+ runs-on : ubuntu-22 .04
176
199
177
200
steps :
178
201
- uses : actions/checkout@v4
0 commit comments