AMD64
no language set
Git
wikimedia/pywikibot:.travis.yml@fa67405
# See tests/README.rst for instructions for using travis with developer builds.
language: python
python:
- '3.5'
- '3.6'
- '3.7'
- '3.8'
- '3.9'
- '3.10-dev'
# OSX builds do not yet support Python
os: linux
dist: xenial # required for Python >= 3.7
addons:
apt:
packages:
- djvulibre-bin
before_install:
# When PYSETUP_TEST_EXTRAS is not enabled, do not allow the
# default 'install' step to install all dependencies listed in
# requirements.txt to verify that a minimal install works as expected.
# Instead install requests in the before_script step below.
- if [[ "$PYSETUP_TEST_EXTRAS" != '1' ]]; then
printf "# Empty requirements with PYSETUP_TEST_EXTRA" > requirements.txt ;
fi
# When the env variable USE_NOSE or USE_PYTEST is set, the appropriate
# tool is used, else PYTEST is taken as the default
- if [[ "$PYSETUP_TEST_EXTRAS" != '1' && "$USE_NOSE" != '1' && "$USE_PYTEST" != '1' ]]; then
export USE_PYTEST=1 ;
fi
- if [[ "$PYWIKIBOT_SITE_ONLY" == "1" ]]; then
echo "Running site tests only code ${LANGUAGE} on family ${FAMILY}" ;
fi
- export GITHUB_USER=`echo $TRAVIS_REPO_SLUG | cut -d '/' -f 1`
- mkdir ~/.python-eggs
- chmod 700 ~/.python-eggs
- if [[ "$GITHUB_USER" != "wikimedia" ]]; then
export PYWIKIBOT_TEST_WRITE_FAIL=1 ;
fi
install:
- pip install -U setuptools
# Make Travis reinstall default pytest (T255349)
- pip uninstall -y pytest
- pip install -r dev-requirements.txt
- pip install -r requirements.txt
before_script:
- if [[ "$PYSETUP_TEST_EXTRAS" != '1' ]]; then
pip install -e .[mwoauth];
fi
script:
- mkdir ~/.pywikibot
- python pwb.py generate_family_file 'https://wiki.musicbrainz.org/' musicbrainz 'n'
- if [[ $FAMILY == 'wpbeta' ]]; then
python -m generate_family_file 'http://'$LANGUAGE'.wikipedia.beta.wmflabs.org/' 'wpbeta' 'y' ;
fi
- if [[ $FAMILY == 'wsbeta' ]]; then
python -m generate_family_file 'http://'$LANGUAGE'.wikisource.beta.wmflabs.org/' 'wsbeta' 'y' ;
fi
- if [[ $FAMILY == 'portalwiki' ]]; then
python -m generate_family_file 'https://theportalwiki.com/wiki/Main_Page' 'portalwiki' 'y' ;
fi
- python -W error::UserWarning -m generate_user_files -dir:~/.pywikibot/ -family:$FAMILY -lang:$LANGUAGE -v -user:"$PYWIKIBOT_USERNAME"
- if [[ -n "$USER_PASSWORD" && -n "$PYWIKIBOT_USERNAME" ]]; then
printf "usernames['wikipedia']['en'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "usernames['wikipedia']['test'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "usernames['wikidata']['test'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "usernames['commons']['commons'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "usernames['meta']['meta'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "usernames['wikisource']['zh'] = '%q'\n" "$PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
printf "('%q', '%q')\n" "$PYWIKIBOT_USERNAME" "$USER_PASSWORD" > ~/.pywikibot/passwordfile ;
echo "import os" >> ~/.pywikibot/user-config.py ;
echo "password_file = os.path.expanduser('~/.pywikibot/passwordfile')" >> ~/.pywikibot/user-config.py ;
fi
- if [[ -n "$OAUTH_DOMAIN" ]]; then
if [[ -n "$OAUTH_PYWIKIBOT_USERNAME" ]]; then
printf "usernames['${FAMILY}']['${LANGUAGE}'] = '%q'\n" "$OAUTH_PYWIKIBOT_USERNAME" >> ~/.pywikibot/user-config.py ;
fi ;
oauth_token_var="OAUTH_TOKENS_${FAMILY^^}_${LANGUAGE^^}" ;
if [[ -n "${!oauth_token_var}" ]]; then
printf "authenticate['${OAUTH_DOMAIN}'] = ('%s')\n" "${!oauth_token_var//:/\', \'}" >> ~/.pywikibot/user-config.py ;
fi ;
fi
- echo "authenticate['wiki.musicbrainz.org'] = ('NOTSPAM', 'NOTSPAM')" >> ~/.pywikibot/user-config.py ;
- echo "max_retries = 2" >> ~/.pywikibot/user-config.py
- echo "maximum_GET_length = 5000" >> ~/.pywikibot/user-config.py
- echo "console_encoding = 'utf8'" >> ~/.pywikibot/user-config.py
- python -c "import setuptools; print(setuptools.__version__)"
- if [[ "$USE_NOSE" == "1" ]]; then
nosetests --version ;
if [[ "$PYWIKIBOT_SITE_ONLY" == "1" ]]; then
python setup.py nosetests --tests tests --verbosity=2 -a "family=$FAMILY,code=$LANGUAGE" --with-trim --with-coverage --cover-package=. ;
else
python setup.py nosetests --tests tests --verbosity=2 --with-trim --with-coverage --cover-package=. ;
fi ;
elif [[ "$USE_PYTEST" == "1" ]]; then
if [[ "$PYWIKIBOT_SITE_ONLY" == "1" ]]; then
python setup.py pytest --addopts="-vvv -s --timeout=$TEST_TIMEOUT --cov=. -rsxX -a \"family=='$FAMILY' and code=='$LANGUAGE'\"" ;
else
python setup.py pytest --addopts="-vvv -s --timeout=$TEST_TIMEOUT --cov=. -rsxX" ;
fi
else
coverage run -m unittest discover -vv -p "*_tests.py" ;
fi
after_script:
codecov
env:
global:
- TEST_TIMEOUT=300
- PYWIKIBOT_NO_L10N_TESTS=1
- PYWIKIBOT_TESTS_RUNNING=1
matrix:
- LANGUAGE=en FAMILY=wikipedia PYWIKIBOT_TEST_PROD_ONLY=1
- LANGUAGE=zh FAMILY=wikisource PYSETUP_TEST_EXTRAS=1 PYWIKIBOT_TEST_PROD_ONLY=1 PYWIKIBOT_TEST_NO_RC=1
matrix:
include:
- python: '3.5_with_system_site_packages'
env: LANGUAGE=nb FAMILY=wikipedia PYSETUP_TEST_EXTRAS=1 PYWIKIBOT_TEST_NO_RC=1
addons:
apt:
packages:
- djvulibre-bin
- graphviz
- python: '3.6'
env: LANGUAGE=en FAMILY=wpbeta PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="en.wikipedia.beta.wmflabs.org"
- python: '3.6'
env: LANGUAGE=zh FAMILY=wpbeta PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="zh.wikipedia.beta.wmflabs.org"
- python: '3.5'
env: LANGUAGE=en FAMILY=wsbeta PYWIKIBOT_SITE_ONLY=1
- python: '3.5'
env: LANGUAGE=en FAMILY=musicbrainz PYWIKIBOT_SITE_ONLY=1
- python: '3.7'
env: LANGUAGE=test FAMILY=wikipedia PYWIKIBOT_SITE_ONLY=1 OAUTH_DOMAIN="test.wikipedia.org"
- python: '3.7'
env: LANGUAGE=test FAMILY=wikidata PYWIKIBOT_SITE_ONLY=1
- python: '3.9'
env: LANGUAGE=ar FAMILY=wiktionary PYWIKIBOT_TEST_NO_RC=1
- python: '3.6'
env: LANGUAGE=wikidata FAMILY=wikidata PYWIKIBOT_SITE_ONLY=1
- python: '3.8'
env: LANGUAGE=uk FAMILY=wowwiki PYWIKIBOT_TEST_NO_RC=1
- python: '3.8'
env: LANGUAGE=en FAMILY=portalwiki
allow_failures:
- python: '3.8'
env: LANGUAGE=uk FAMILY=wowwiki PYWIKIBOT_TEST_NO_RC=1
notifications:
email:
recipients:
- pywikibot-commits@lists.wikimedia.org
on_success: always
on_failure: always
irc:
channels:
- "chat.freenode.net#pywikibot"
on_success: change
on_failure: change
template:
- "%{repository_slug}#%{build_number} (%{branch} - %{commit} : %{author}): %{message} %{build_url}"
Build Config
{
"env": {
"global": [
"ARTIFACTS_S3_REGION=us-east-1",
"ARTIFACTS_S3_BUCKET=travis-rubies",
"ARTIFACTS_PERMISSIONS=public-read",
{
"secure": "ULn72j3IX7DRzhyxMSY+HNB+4rObVgIFScVsgGesazDk7vTXGTt14J3H3B6knALMTGz+KNIcyqXLrr2DF0O5LGFBBjAjQxjv69wOOxA/CnyZGHJcMspKhRntXDy66vvB7jcfYYa94ekVJ440QEaTlw9hjal/Wl2CsqUVSHvFadY="
},
{
"secure": "lhCm8NxZ6OTj/Mb/P2BNQiF8+3y5IWnWlBQ+FwpiU1/ITITzVXlcZN9JXwSnGQ0ir7JSw/sApJAMOlgwYVh8q+GU4XOpX1AtwT5iF/ZfPUk3Oma2jibMO7I9gj4ie3f40cT76NmfPoqXvuT9Ha72hXOWA2PN/3jEeeU9hiJ+feU="
}
]
},
"matrix": {
"include": [
{
"os": "linux",
"dist": "precise",
"sudo": "required",
"group": "edge",
"before_script": "gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3"
},
{
"os": "linux",
"group": "edge",
"services": "docker",
"before_script": "gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3"
},
{
"os": "osx",
"osx_image": "xcode6.4"
},
{
"os": "osx"
}
],
"fast_finish": true,
"allow_failures": [
{
"services": "docker"
},
{
"os": "osx"
}
]
},
"script": [
"unset JRUBY_OPTS",
"./build.sh"
],
"language": "c",
"after_failure": [
"pushd /Users/travis/.rvm/src/ruby-head && otool -L miniruby && popd",
"find $rvm_path/log/ -type f | xargs ls -t | head -n 1 | xargs cat"
],
"notifications": {
"email": false
}
}