Skip to content
Snippets Groups Projects
Commit 0939152c authored by juga's avatar juga
Browse files

fix: CI: Test all supported python versions

As in chutney and stem:
- Test all supported python versions
- Test all supported tor versions

Differences between chutney, stem and sbws:
- in sbws we run directly, not an script that calls tox
- we're not using chutney for integration tests (yet) and therefore we're not testing it with different networks
- we don't have shellcheck tests
- we don't support osx nor windows

Closes: #30067
parent 605eca34
No related branches found
No related tags found
No related merge requests found
sudo: true
dist: xenial
language: python
python:
- "3.5"
- "3.6"
install: pip install tox-travis
# The default python version on Travis bionic is 3.6
# But we add this line to show the python version in the Travis UI
python: "3.6"
env:
matrix:
## This matrix entry is required, but it doesn't actually create any jobs
## by itself. All jobs are created by matrix: include: entries
##
## The TOR env var should be kept in sync with the Linux tor version in
## the addons section below
- TOR="master-nightly"
matrix:
# include creates Linux, python 3.6, tor master builds by default
# we use tor master to catch tor issues before stable releases
# the key(s) in each item override these defaults
include:
## Test all supported and available tor versions on Linux
## If the deb.torproject.org repositories are removed, we will fall back to
## Ubuntu security's tor version (currently 0.2.9.14). We might want to
## automatically fail the job if we can't get a newer tor, see #29741.
##
## The current tor versions in Ubuntu are on this page:
## https://packages.ubuntu.com/search?keywords=tor&searchon=names&exact=1
##
- addons:
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org tor-nightly-0.3.5.x-bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
env: TOR="0.3.5-nightly"
- addons:
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org tor-nightly-0.4.0.x-bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
env: TOR="0.4.0-nightly"
## The current stable release is 0.4.1
- addons:
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
env: TOR="stable-release"
## We also have 0.4.1 and 0.4.2 nightlies
- addons:
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org tor-nightly-0.4.1.x-bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
env: TOR="0.4.1-nightly"
- addons:
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org tor-nightly-0.4.2.x-bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
env: TOR="0.4.2-nightly"
## Test all supported python releases
## Pre-installed in Travis Bionic:
## https://docs.travis-ci.com/user/reference/bionic/#python-support
## End of Life: December 2021
## https://www.python.org/dev/peps/pep-0494/#lifespan
- python: "3.6"
## End of Life: June 2023
## https://www.python.org/dev/peps/pep-0537/#lifespan
- python: "3.7"
## Extra Installs
## End of Life: October 2024
## https://www.python.org/dev/peps/pep-0569/#lifespan
- python: "3.8"
## Python 3.9
## (Add 3.9-dev), so far is the same as nightly
## Stable: 10 October 2020
## (Switch from 3.9-dev to 3.9, and check for {3.10,4.0}-dev)
## End of Life: October 2025
## https://www.python.org/dev/peps/pep-0596/#lifespan
- python: "nightly"
allow_failures:
# stem fails:
# <ERROR> Error initting controller socket: module 'collections' has no
# attribute 'Iterable'
- python: nightly
## (Linux only) Use the Ubuntu Bionic Linux Image
dist: bionic
## Download our dependencies
addons:
## (Linux only)
apt:
sources:
- sourceline: 'deb https://deb.torproject.org/torproject.org tor-nightly-master-bionic main'
key_url: 'https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc'
packages:
- tor
# To build the docs
- texlive-latex-extra
- dvipng
install:
- pip install tox-travis
- dpkg-query --show
## Use the default spelling for python, unless it is overridden
- export PYTHON=${PYTHON:-python}
- $PYTHON --version
- tor --version
- tox --version
script:
- tox
# This is not in included in the tox envlist, in order to don't need Internet
......@@ -12,12 +135,6 @@ script:
# - tox -e doclinks
- tox -e clean
before_install:
- gpg --version
- sudo apt-key add tests/deb.torproject.org.asc
- echo "deb https://deb.torproject.org/torproject.org xenial main" | sudo tee -a /etc/apt/sources.list
- sudo apt-get update -qq
- sudo apt-get install tor -y
notifications:
irc:
......@@ -26,10 +143,3 @@ notifications:
template:
- "%{repository_slug} %{branch} %{commit} - %{author}: %{commit_subject}"
- "Build #%{build_number} %{result}. Details: %{build_url}"
# To build the docs
addons:
apt:
packages:
- texlive-latex-extra
- dvipng
This diff is collapsed.
[tox]
skip_missing_interpreters = True
envlist = py35, py36, inst, setup, unit, integration, lint, stats, doc
envlist = py{36, 37, 38, 39, nightly}, inst, setup, unit, integration, lint, stats, doc
[travis]
python =
3.5: py35, inst, setup, unit, integration, lint, doc
3.6: py36, inst, setup, unit, integration
3.6: py36, inst, setup, unit, integration, lint, doc
3.7: py37, inst, setup, unit, integration, lint, doc
3.8: py38, inst, setup, unit, integration, lint, doc
3.9-dev: py39, inst, setup, unit, integration, lint, doc
nightly: pynightly, inst, setup, unit, integration, lint, doc
[testenv]
# install_command can be removed when --process-dependency-links is not
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment