[tor-commits] [fallback-scripts/master] Travis: add a basic Travis config with python 2.7
teor at torproject.org
teor at torproject.org
Thu Aug 1 06:41:01 UTC 2019
commit 60c020268e3d4280b3ea16b97ffa0bcc52d55626
Author: teor <teor at torproject.org>
Date: Fri Jun 28 19:45:09 2019 +1000
Travis: add a basic Travis config with python 2.7
Also add a requirements.txt
Initial implementation of #28979.
---
.travis.yml | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
requirements.txt | 3 ++
2 files changed, 118 insertions(+)
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..929dfe3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,115 @@
+language: python
+
+# The default python version on Travis is 2.7
+# But we add this line to show the python version in the Travis UI
+python: "2.7"
+
+os:
+ - linux
+ ## We also run a single macOS job with python 2.7
+
+matrix:
+ # include creates Linux, python 2.7 builds by default
+ # the key(s) in each item override these defaults
+ include:
+ ## macOS on Travis is tricky:
+ ## - We use the default python version on macOS, which is currently 2.7.
+ ## (But we don't show the version, because Travis might change it
+ ## without us noticing.)
+ ## - We use language: c, because language: python fails on Travis macOS.
+ - os: osx
+ language: c
+ python:
+
+ ## Test all supported python releases
+ ## Pre-installed in Travis xenial:
+ ## https://docs.travis-ci.com/user/reference/xenial/#python-support
+ ## End of Life: 1 January 2020
+ ## https://www.python.org/dev/peps/pep-0373/#id2
+ - python: "2.7"
+
+ ### TODO: the fallback scripts don't work with python 3 yet ###
+ ## 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"
+ ## Stable: 20 October 2019
+ ## (Switch from 3.8-dev to 3.8, and check for 3.9-dev)
+ ## End of Life: October 2024
+ ## https://www.python.org/dev/peps/pep-0569/#lifespan
+ #- python: "3.8-dev"
+ ## Nightly python
+ #- python: "nightly"
+ # PyPy versions
+ ## End of Life: "forever"
+ ## http://doc.pypy.org/en/latest/faq.html#how-long-will-pypy-support-python2
+ ## But stem may decide not to support python 2 after 1 Jan 2020.
+ ## Travis Xenial does not support pypy2.7
+ #- python: "pypy2.7"
+ ## PyPy does not have documented end of life dates
+ #- python: "pypy3.5"
+ ## PyPy 3.6 is currently in alpha
+ ## Travis Xenial does not support pypy3.6-dev yet?
+ #- python: "pypy3.6-dev"
+
+ ## Uncomment to allow the build to report success (with non-required
+ ## sub-builds continuing to run) if all required sub-builds have
+ ## succeeded. This is somewhat buggy currently: it can cause
+ ## duplicate notifications and prematurely report success if a
+ ## single sub-build has succeeded. See
+ ## https://github.com/travis-ci/travis-ci/issues/1696
+ #fast_finish: true
+
+ ## These builds fail in Travis at the moment
+ #allow_failures:
+ # - python: "3.7"
+
+## (Linux only) Use the Ubuntu Xenial Linux Image
+## deb.torproject.org doesn't support Trusty any more
+dist: xenial
+
+## (OSX only) Use the default OSX image
+## See https://docs.travis-ci.com/user/reference/osx#os-x-version
+## Default is Xcode 9.4 on macOS 10.13 as of August 2018
+#osx_image: xcode9.4
+
+install:
+ ## We also need to install stem's dependencies
+ - pip install -U pip
+ - pip install -r requirements.txt
+ ## List installed package versions
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then dpkg-query --show; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list --versions; fi
+ - pip list
+ - python --version
+
+script:
+ ## Run some fallback-scripts tests
+ ## moria1, Serge, no caches extra info, no dir port, doesn't exist
+ ## TODO: validate output from all 3 commands using grep, grep, and stem?
+ - ./generateFallbackDirLine.py 9695DFC35FFEB861329B9F1AB04C46397020CE31 BA44A889E64B93FAA2B114E02C2A279A8555C533 001524DD403D729F08F7E5D77813EF12756CFA8D 5AFAC3D00E97D6733112CC9CA2A788691FA87125 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ - ./lookupFallbackDirContact.py 9695DFC35FFEB861329B9F1AB04C46397020CE31 BA44A889E64B93FAA2B114E02C2A279A8555C533 001524DD403D729F08F7E5D77813EF12756CFA8D 5AFAC3D00E97D6733112CC9CA2A788691FA87125 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ## If we get the top 200 relays from Onionoo, we generate a list with about
+ ## 10 fallbacks
+ - export TOR_FB_ONIONOO_LIMIT=200
+ ## Hide info-level logs
+ - ./updateFallbackDirs.py 2>&1 | tee -a fallback.log | grep -v "INFO::"
+
+after_failure:
+ ## Show all the output, including info-level logs
+ - cat fallback.log || echo "cat failed"
+
+notifications:
+ irc:
+ channels:
+ - "irc.oftc.net#tor-ci"
+ template:
+ - "%{repository} %{branch} %{commit} - %{author}: %{commit_subject}"
+ - "Build #%{build_number} %{result}. Details: %{build_url}"
+ on_success: change
+ on_failure: change
+ email:
+ on_success: never
+ on_failure: change
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..17b94f9
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+py2-ipaddress
+python-dateutil
+stem
More information about the tor-commits
mailing list