88 pip --no-cache-dir"
99
1010jobs :
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
1415 strategy :
1516 fail-fast : false
17+ matrix :
18+ toxenv : [py27, py27-configparser]
1619
1720 steps :
1821 - uses : actions/checkout@v4
@@ -21,56 +24,66 @@ jobs:
2124 run : $PIP install virtualenv tox
2225
2326 - name : Run the unit tests
24- run : TOXENV=py27 tox
27+ run : TOXENV=${{ matrix.toxenv }} tox
2528
2629 - 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
2831
2932 tests_py34 :
30- runs-on : ubuntu-20.04
31- strategy :
32- fail-fast : false
33+ runs-on : ubuntu-22.04
34+ container :
35+ image : ubuntu:20.04
36+ env :
37+ LANG : C.UTF-8
3338
3439 steps :
3540 - uses : actions/checkout@v4
3641
37- - name : Build OpenSSL 1.0.2 (required by Python 3.4)
42+ - name : Install build dependencies
3843 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
4048
49+ - name : Build OpenSSL 1.0.2 (required by Python 3.4)
50+ run : |
4151 cd $RUNNER_TEMP
4252 wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_0_2u/openssl-1.0.2u.tar.gz
4353 tar -xf openssl-1.0.2u.tar.gz
4454 cd openssl-1.0.2u
4555 ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib-dynamic
4656 make
47- sudo make install
57+ make install
4858
49- echo CFLAGS="-I/usr/local/ssl/include $CFLAGS" >> $GITHUB_ENV
59+ echo CFLAGS="-I/usr/local/ssl/include $CFLAGS" >> $GITHUB_ENV
5060 echo LDFLAGS="-L/usr/local/ssl/lib $LDFLAGS" >> $GITHUB_ENV
5161 echo LD_LIBRARY_PATH="/usr/local/ssl/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
5262
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
5666
5767 - name : Build Python 3.4
5868 run : |
59- sudo apt-get install build-essential libncurses5-dev libgdbm-dev libnss3-dev libreadline-dev zlib1g-dev
60-
6169 cd $RUNNER_TEMP
6270 wget -O cpython-3.4.10.zip https://github.com/python/cpython/archive/refs/tags/v3.4.10.zip
6371 unzip cpython-3.4.10.zip
6472 cd cpython-3.4.10
65- ./configure
73+ ./configure --with-ensurepip=install
6674 make
67- sudo make install
75+ make install
6876
6977 python3.4 --version
7078 python3.4 -c 'import ssl'
79+ pip3.4 --version
7180
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
7487
7588 - name : Run the unit tests
7689 run : TOXENV=py34 tox
@@ -79,40 +92,49 @@ jobs:
7992 run : TOXENV=py34 END_TO_END=1 tox
8093
8194 tests_py35 :
82- runs-on : ubuntu-20.04
95+ runs-on : ubuntu-22.04
96+ container :
97+ image : python:3.5
8398 strategy :
8499 fail-fast : false
85100
86101 steps :
87102 - uses : actions/checkout@v4
88103
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
91106
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
96122
97123 - name : Install dependencies
98124 run : $PIP install virtualenv tox
99125
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-
104126 - name : Run the unit tests
105- run : TOXENV=${{steps.toxenv.outputs.TOXENV}} tox
127+ run : TOXENV=py36 tox
106128
107129 - 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
109131
110132 tests_py3x :
111- runs-on : ubuntu-20 .04
133+ runs-on : ubuntu-22 .04
112134 strategy :
113135 fail-fast : false
114136 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]
116138
117139 steps :
118140 - uses : actions/checkout@v4
@@ -136,8 +158,9 @@ jobs:
136158 run : TOXENV=${{steps.toxenv.outputs.TOXENV}} END_TO_END=1 tox
137159
138160 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
141164 strategy :
142165 fail-fast : false
143166
@@ -151,7 +174,7 @@ jobs:
151174 run : TOXENV=cover tox
152175
153176 coverage_py3x :
154- runs-on : ubuntu-20 .04
177+ runs-on : ubuntu-22 .04
155178 strategy :
156179 fail-fast : false
157180 matrix :
@@ -172,7 +195,7 @@ jobs:
172195 run : TOXENV=cover3 tox
173196
174197 docs :
175- runs-on : ubuntu-20 .04
198+ runs-on : ubuntu-22 .04
176199
177200 steps :
178201 - uses : actions/checkout@v4
0 commit comments