Skip to content

Commit

Permalink
Move CI to GitHub Actions & split Python versions into jobs (#603)
Browse files Browse the repository at this point in the history
Thanks to Bruno Alla (@browniebroke)
  • Loading branch information
edschofield committed Feb 21, 2024
1 parent d6785dd commit 8cd11e8
Show file tree
Hide file tree
Showing 10 changed files with 102 additions and 62 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI

on:
pull_request:
push:

concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
test:
strategy:
fail-fast: false
matrix:
versions:
- python: "2.6"
- python: "2.7"
- python: "3.3"
- python: "3.4"
- python: "3.5"
- python: "3.6"
- python: "3.7"
- python: "3.8"
- python: "3.9"

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- if: ${{ matrix.versions.python != '2.6' }}
run: |
docker build \
. \
--build-arg PYTHON_VERSION=${{ matrix.versions.python }} \
-t jmadler/python-future-builder:${{ matrix.versions.python }}
- if: ${{ matrix.versions.python == '2.6' }}
run: |
docker build \
. \
-f 2.6.Dockerfile \
-t jmadler/python-future-builder:${{ matrix.versions.python }}
- run: |
docker run \
-e PYTHON_VERSION=${{ matrix.versions.python }} \
jmadler/python-future-builder:${{ matrix.versions.python }} \
/root/python-future/test.sh
11 changes: 0 additions & 11 deletions .travis.yml

This file was deleted.

26 changes: 26 additions & 0 deletions 2.6.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM mrupgrade/deadsnakes:2.6

RUN mkdir -p ~/.pip/ && echo '[global] \n\
trusted-host = pypi.python.org\n\
pypi.org\n\
files.pythonhosted.org\n\
' >> ~/.pip/pip.conf

RUN apt-get update && \
apt-get install -y curl

RUN mkdir -p /root/pip && \
cd /root/pip && \
curl -O https://files.pythonhosted.org/packages/8a/e9/8468cd68b582b06ef554be0b96b59f59779627131aad48f8a5bce4b13450/wheel-0.29.0-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/31/77/3781f65cafe55480b56914def99022a5d2965a4bb269655c89ef2f1de3cd/importlib-1.0.4.zip && \
curl -O https://files.pythonhosted.org/packages/ef/41/d8a61f1b2ba308e96b36106e95024977e30129355fd12087f23e4b9852a1/pytest-3.2.5-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/72/20/7f0f433060a962200b7272b8c12ba90ef5b903e218174301d0abfd523813/unittest2-1.1.0-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/53/67/9620edf7803ab867b175e4fd23c7b8bd8eba11cb761514dcd2e726ef07da/py-1.4.34-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/53/25/ef88e8e45db141faa9598fbf7ad0062df8f50f881a36ed6a0073e1572126/ordereddict-1.1.tar.gz && \
curl -O https://files.pythonhosted.org/packages/17/0a/6ac05a3723017a967193456a2efa0aa9ac4b51456891af1e2353bb9de21e/traceback2-1.4.0-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl && \
curl -O https://files.pythonhosted.org/packages/c7/a3/c5da2a44c85bfbb6eebcfc1dde24933f8704441b98fdde6528f4831757a6/linecache2-1.0.0-py2.py3-none-any.whl

WORKDIR /root/python-future
ADD . /root/python-future
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
FROM quay.io/pypa/manylinux1_x86_64
ARG PYTHON_VERSION
FROM python:${PYTHON_VERSION}-slim

ENV LC_ALL=C.UTF-8

WORKDIR /root/python-future
ADD . /root/python-future
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
Overview: Easy, clean, reliable Python 2/3 compatibility
========================================================

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

.. image:: https://readthedocs.org/projects/python-future/badge/?version=latest
:target: https://python-future.readthedocs.io/en/latest/?badge=latest
Expand Down
18 changes: 0 additions & 18 deletions build.sh

This file was deleted.

4 changes: 0 additions & 4 deletions lint.sh

This file was deleted.

21 changes: 0 additions & 21 deletions setup.sh

This file was deleted.

10 changes: 5 additions & 5 deletions src/future/moves/_dummy_thread.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from __future__ import absolute_import
from future.utils import PY3
from future.utils import PY3, PY39_PLUS

if PY3:

if PY39_PLUS:
# _dummy_thread and dummy_threading modules were both deprecated in
# Python 3.7 and removed in Python 3.9
try:
from _thread import *
elif PY3:
from _dummy_thread import *
except ImportError:
from _thread import *
else:
__future_module__ = True
from dummy_thread import *
18 changes: 18 additions & 0 deletions test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

set -exo pipefail

python --version

if [ -e "/root/pip" ]
then
pip install /root/pip/*.zip /root/pip/*.whl /root/pip/*tar.gz
else
pip install pytest unittest2
fi

pytag="py${PYTHON_VERSION//./}"

python setup.py bdist_wheel --python-tag="${pytag}"
pip install dist/future-*-${pytag}-none-any.whl
pytest tests/

0 comments on commit 8cd11e8

Please sign in to comment.