[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