Skip to content

Commit 8cd11e8

Browse files
committed
Move CI to GitHub Actions & split Python versions into jobs (#603)
Thanks to Bruno Alla (@browniebroke)
1 parent d6785dd commit 8cd11e8

File tree

10 files changed

+102
-62
lines changed

10 files changed

+102
-62
lines changed

.github/workflows/ci.yml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
concurrency:
8+
group: ${{ github.head_ref || github.run_id }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
test:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
versions:
17+
- python: "2.6"
18+
- python: "2.7"
19+
- python: "3.3"
20+
- python: "3.4"
21+
- python: "3.5"
22+
- python: "3.6"
23+
- python: "3.7"
24+
- python: "3.8"
25+
- python: "3.9"
26+
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v3
30+
- if: ${{ matrix.versions.python != '2.6' }}
31+
run: |
32+
docker build \
33+
. \
34+
--build-arg PYTHON_VERSION=${{ matrix.versions.python }} \
35+
-t jmadler/python-future-builder:${{ matrix.versions.python }}
36+
- if: ${{ matrix.versions.python == '2.6' }}
37+
run: |
38+
docker build \
39+
. \
40+
-f 2.6.Dockerfile \
41+
-t jmadler/python-future-builder:${{ matrix.versions.python }}
42+
- run: |
43+
docker run \
44+
-e PYTHON_VERSION=${{ matrix.versions.python }} \
45+
jmadler/python-future-builder:${{ matrix.versions.python }} \
46+
/root/python-future/test.sh

.travis.yml

-11
This file was deleted.

2.6.Dockerfile

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM mrupgrade/deadsnakes:2.6
2+
3+
RUN mkdir -p ~/.pip/ && echo '[global] \n\
4+
trusted-host = pypi.python.org\n\
5+
pypi.org\n\
6+
files.pythonhosted.org\n\
7+
' >> ~/.pip/pip.conf
8+
9+
RUN apt-get update && \
10+
apt-get install -y curl
11+
12+
RUN mkdir -p /root/pip && \
13+
cd /root/pip && \
14+
curl -O https://files.pythonhosted.org/packages/8a/e9/8468cd68b582b06ef554be0b96b59f59779627131aad48f8a5bce4b13450/wheel-0.29.0-py2.py3-none-any.whl && \
15+
curl -O https://files.pythonhosted.org/packages/31/77/3781f65cafe55480b56914def99022a5d2965a4bb269655c89ef2f1de3cd/importlib-1.0.4.zip && \
16+
curl -O https://files.pythonhosted.org/packages/ef/41/d8a61f1b2ba308e96b36106e95024977e30129355fd12087f23e4b9852a1/pytest-3.2.5-py2.py3-none-any.whl && \
17+
curl -O https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl && \
18+
curl -O https://files.pythonhosted.org/packages/72/20/7f0f433060a962200b7272b8c12ba90ef5b903e218174301d0abfd523813/unittest2-1.1.0-py2.py3-none-any.whl && \
19+
curl -O https://files.pythonhosted.org/packages/53/67/9620edf7803ab867b175e4fd23c7b8bd8eba11cb761514dcd2e726ef07da/py-1.4.34-py2.py3-none-any.whl && \
20+
curl -O https://files.pythonhosted.org/packages/53/25/ef88e8e45db141faa9598fbf7ad0062df8f50f881a36ed6a0073e1572126/ordereddict-1.1.tar.gz && \
21+
curl -O https://files.pythonhosted.org/packages/17/0a/6ac05a3723017a967193456a2efa0aa9ac4b51456891af1e2353bb9de21e/traceback2-1.4.0-py2.py3-none-any.whl && \
22+
curl -O https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl && \
23+
curl -O https://files.pythonhosted.org/packages/c7/a3/c5da2a44c85bfbb6eebcfc1dde24933f8704441b98fdde6528f4831757a6/linecache2-1.0.0-py2.py3-none-any.whl
24+
25+
WORKDIR /root/python-future
26+
ADD . /root/python-future

Dockerfile

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
FROM quay.io/pypa/manylinux1_x86_64
1+
ARG PYTHON_VERSION
2+
FROM python:${PYTHON_VERSION}-slim
3+
4+
ENV LC_ALL=C.UTF-8
5+
26
WORKDIR /root/python-future
37
ADD . /root/python-future

README.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Overview: Easy, clean, reliable Python 2/3 compatibility
44
========================================================
55

6-
.. image:: https://travis-ci.org/PythonCharmers/python-future.svg?branch=master
7-
:target: https://travis-ci.org/PythonCharmers/python-future
6+
.. image:: https://github.com/PythonCharmers/python-future/actions/workflows/ci.yml/badge.svg?branch=master
7+
:target: https://github.com/PythonCharmers/python-future/actions/workflows/ci.yml?query=branch%3Amaster
88

99
.. image:: https://readthedocs.org/projects/python-future/badge/?version=latest
1010
:target: https://python-future.readthedocs.io/en/latest/?badge=latest

build.sh

-18
This file was deleted.

lint.sh

-4
This file was deleted.

setup.sh

-21
This file was deleted.

src/future/moves/_dummy_thread.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from __future__ import absolute_import
2-
from future.utils import PY3
2+
from future.utils import PY3, PY39_PLUS
33

4-
if PY3:
4+
5+
if PY39_PLUS:
56
# _dummy_thread and dummy_threading modules were both deprecated in
67
# Python 3.7 and removed in Python 3.9
7-
try:
8+
from _thread import *
9+
elif PY3:
810
from _dummy_thread import *
9-
except ImportError:
10-
from _thread import *
1111
else:
1212
__future_module__ = True
1313
from dummy_thread import *

test.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
set -exo pipefail
4+
5+
python --version
6+
7+
if [ -e "/root/pip" ]
8+
then
9+
pip install /root/pip/*.zip /root/pip/*.whl /root/pip/*tar.gz
10+
else
11+
pip install pytest unittest2
12+
fi
13+
14+
pytag="py${PYTHON_VERSION//./}"
15+
16+
python setup.py bdist_wheel --python-tag="${pytag}"
17+
pip install dist/future-*-${pytag}-none-any.whl
18+
pytest tests/

0 commit comments

Comments
 (0)