-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add configuration for CI: Travis-CI and AppVeyor #112
Changes from all commits
3783e8b
ca86d2b
7554ade
ba8ffa2
f9d6763
06afc1c
5723ee9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Travis integration file. | ||
# Seattle supports Python 2.5 through 2.7, per | ||
# seattle.poly.edu/wiki/ProgrammersPage | ||
# | ||
# Travis provides OS X and Linux (specifically Ubuntu) OS instances. | ||
# The result of this configuration will be five separate builds on | ||
# Travis-CI VMs, 3 python versions on Linux and 2 on OS X. | ||
|
||
# Primarily because of some manual fiddling to get python 2.5 tests | ||
# to work, we require the following directive - we need | ||
# non-container-based infrastructure so that Travis allows us to use | ||
# sudo. | ||
sudo: required | ||
|
||
matrix: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's add a comment subsection mentioning that the following block is for Linux VMs. (See below for OS X, where this comment exists). |
||
include: | ||
# Linux Instances follow, one for each dash. | ||
- language: python # Language to initiate linux VM | ||
python: '2.7' # Version of python to use | ||
os: linux # The OS of the VM | ||
env: Python='2.7' PythonBin="python" # These are environment variables we'll use. | ||
# In particular, PythonBin will specify the location of the python binary to use. | ||
# The "Python" env variable there is redundant except for OS X runs below. | ||
install: # tool installation | ||
sudo apt-get update; | ||
|
||
- language: python | ||
python: '2.6' | ||
os: linux | ||
env: Python='2.6' PythonBin="python" | ||
install: | ||
sudo apt-get update; | ||
|
||
# Because Travis-CI no longer offers the 2.5 environment by default, | ||
# we'll manually install 2.5.... It's not even available on the common | ||
# ubuntu repos, so we'll use the well-known deadsnakes repo. | ||
- language: python | ||
os: linux | ||
env: Python='2.5' PythonBin="/usr/bin/python2.5" | ||
install: | ||
sudo add-apt-repository "ppa:fkrull/deadsnakes" -y; | ||
sudo apt-get update; | ||
sudo apt-get install python2.5; | ||
|
||
# OS X Instances follow | ||
# There is no OS X + PYTHON combination available by default, so we | ||
# use the "language: generic" directive and we'll install python | ||
# ourselves through some install directives. | ||
# See references: | ||
# github.com/travis-ci/travis-ci/issues/2312 | ||
# docs.travis-ci.com/user/languages/python | ||
# docs.travis-ci.com/user/multi-os/#Python-example-%28unsupported-languages%29 | ||
# OS X Python current version (currently 2.7.11) | ||
- language: generic | ||
os: osx | ||
env: Python='2.7' PythonBin="python" | ||
install: | ||
#brew update; | ||
brew install python; | ||
|
||
# OS X python 2.6.9 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Version doesn't match install command. |
||
# We have to use pyenv to compile and install Python 2.6.9 | ||
# ourselves for OS X, as Travis-CI offers no OS X Python | ||
# environments, and homebrew no longer offers a python26 | ||
# recipe. | ||
- language: generic | ||
os: osx | ||
env: Python='2.6.9' PythonBin="/Users/travis/.pyenv/versions/2.6.9/bin/python" | ||
install: | ||
#brew update; | ||
#brew install python26; # This is no longer available. | ||
pyenv install 2.6.9; | ||
pyenv global 2.6.9; | ||
|
||
# These are the commands we'll run for each build, posting the python | ||
# version we're *really* running, initializing to obtain needed common | ||
# seattle projects, building the current seattle project, and running | ||
# the seattle unit testing framework, with all tests. | ||
script: | ||
- $PythonBin --version; | ||
- cd ./scripts; | ||
- $PythonBin initialize.py; | ||
- $PythonBin build.py -t; | ||
- cd ../RUNNABLE; | ||
- $PythonBin utf.py -a; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Seattle supports Python 2.5 through 2.7, per https://seattle.poly.edu/wiki/ProgrammersPage | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same (change link) applies here. |
||
# AppVeyor provides Windows-based testing. | ||
# On Windows, we currently test on Python 2.6 and 2.7. | ||
# The result of the current configuration should be 4 runs: | ||
# 32bit platform, Python 2.6 | ||
# 64bit platform, Python 2.6 | ||
# 32bit platform, Python 2.7 | ||
# 64bit platform, Python 2.7 | ||
|
||
build: false | ||
|
||
# Default OS is Windows Server 2012 R2 | ||
# As an example, uncommenting the 3 lines below would | ||
# result in builds being run both on the current version | ||
# of Windows Server 2012 R2 and the previous version of | ||
# Windows Server 2012 R2. | ||
#os: | ||
# - Previous Windows Server 2012 R2 | ||
# - Windows Server 2012 R2 | ||
|
||
environment: | ||
matrix: | ||
# Run on each of the following two Python setups. | ||
- PYTHON: "C:\\Python27" | ||
PYTHON_VERSION: "2.7.x" | ||
|
||
- PYTHON: "C:\\Python26" | ||
PYTHON_VERSION: "2.6.x" | ||
|
||
# AppVeyor no longer supports Python 2.5 by default. If necessary, we can | ||
# try to figure out how to get it running, but it is not currently a | ||
# priority. | ||
#- PYTHON: "C:\\Python25" | ||
# PYTHON_VERSION: "2.5.x" | ||
|
||
# Run each on 32-bit and 64-bit platforms. | ||
platform: | ||
- x86 | ||
- x64 | ||
|
||
# These are the commands we'll run for each build, posting the python | ||
# version we're *really* running, initializing to obtain needed common | ||
# seattle projects, building the current seattle project, and running | ||
# the seattle unit testing framework, with all tests. | ||
test_script: | ||
- "%PYTHON%\\python --version" | ||
- "cd scripts" | ||
- "%PYTHON%\\python initialize.py" | ||
- "%PYTHON%\\python build.py -t" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why not execute |
||
- "cd ../RUNNABLE" | ||
- "%PYTHON%\\python utf.py -a" | ||
|
||
|
||
skip_commits: | ||
message: /(Update README*|Created.*\.(png|jpg|jpeg|bmp|gif))/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ProgrammersPage only mentions Python v2.5/v2.6
Either change on ProgrammersPage or link to https://seattle.poly.edu/wiki/BuildInstructions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed in https://github.com/SeattleTestbed/docs/blob/master/Contributing/BuildInstructions.md which supersedes the Trac wiki page.
However, we should note that we include Python 2.5 for testing still because it is what PlanetLab runs.