mirror of
https://gh.wpcy.net/https://github.com/WeblateOrg/weblate.git
synced 2026-05-29 02:36:10 +08:00
194 lines
5.1 KiB
YAML
Vendored
194 lines
5.1 KiB
YAML
Vendored
#
|
|
# Weblate testsuite for Travis-CI
|
|
#
|
|
# - Test against all supported Django versions with postgresql
|
|
# - Test against all supported databases with current Django
|
|
# - Run Selenium tests on current Django
|
|
# - Test setup.py
|
|
#
|
|
dist: xenial
|
|
language: python
|
|
python:
|
|
- "3.7"
|
|
stages:
|
|
- name: "Static analysis"
|
|
- name: "Basic tests"
|
|
- name: "Extended tests"
|
|
# build matrix configuration
|
|
env:
|
|
global:
|
|
- DJANGO_SETTINGS_MODULE=weblate.settings_test
|
|
- CI_DATABASE=postgresql
|
|
- SAUCE_USERNAME=nijel
|
|
- CC_TEST_REPORTER_ID=b477753e9d539176556058b92f0f6594e7823ab95d1db1348f189745ea618af6
|
|
- CI_DB_HOST=127.0.0.1
|
|
before_install:
|
|
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)"
|
|
# commands to install dependencies
|
|
install:
|
|
- export TESSERACT_INSTALL=$HOME/.tesseract
|
|
- export TESSERACT_PKG=$TESSERACT_INSTALL/lib/pkgconfig
|
|
- export LD_LIBRARY_PATH=$TESSERACT_INSTALL/lib:$LD_LIBRARY_PATH
|
|
- export PKG_CONFIG_PATH=$TESSERACT_PKG:$PKG_CONFIG_PATH
|
|
- wget -O - https://github.com/nijel/tesseract-ocr-build/releases/download/3.05.02-3/tesseract.tar.xz | tar -C $HOME -xJf -
|
|
- export SAUCE_ACCESS_KEY=`echo MTBlOGE0MzItZmI0Mi00MmZhLTk5NjgtMTE4N2E3YjhlYTAy | base64 --decode`
|
|
# Get newer pip and whell for binary caching support
|
|
- pip install --upgrade pip wheel
|
|
# Install PyPI packages
|
|
- pip install $CI_DEPS Cython pycairo
|
|
- if [ -f requirements-$CI_DATABASE.txt ] ; then pip install -r requirements-$CI_DATABASE.txt ; fi
|
|
- pip install -r ci/requirements-travis.txt
|
|
- pip install -r requirements-optional.txt -r requirements-test.txt -r docs/requirements.txt
|
|
# create databases
|
|
before_script: &before
|
|
- ./ci/prepare-database
|
|
- ./manage.py collectstatic --noinput
|
|
- ./manage.py list_versions
|
|
- ./manage.py compilemessages
|
|
script:
|
|
- ./ci/run-test
|
|
# upload coverage
|
|
after_script: &after
|
|
# Combine partial reports
|
|
- coverage combine
|
|
- coverage xml
|
|
# CodeCov
|
|
- codecov
|
|
cache:
|
|
pip: true
|
|
git:
|
|
depth: 100
|
|
submodules: false
|
|
addons: &aptaddon
|
|
apt:
|
|
packages:
|
|
- git-svn
|
|
- graphviz
|
|
- libcairo-dev
|
|
- libacl1-dev
|
|
- gir1.2-pango-1.0
|
|
- libgirepository1.0-dev
|
|
- libenchant1c2a
|
|
- g++
|
|
- daemon
|
|
sources:
|
|
- git-core
|
|
|
|
jobs:
|
|
include:
|
|
- stage: "Static analysis"
|
|
name: "Locales (gettext)"
|
|
env: CI_DATABASE=sqlite
|
|
before_script: skip
|
|
after_script: skip
|
|
script:
|
|
- ./manage.py compilemessages
|
|
- stage: "Static analysis"
|
|
name: "Coding style (flake8)"
|
|
env: CI_DATABASE=sqlite
|
|
before_script: skip
|
|
after_script: skip
|
|
script:
|
|
- flake8
|
|
- stage: "Static analysis"
|
|
name: "Documentation (sphinx)"
|
|
env: CI_DATABASE=sqlite
|
|
before_script: skip
|
|
after_script: skip
|
|
script:
|
|
- make -C docs html SPHINXOPTS='-n -W -a'
|
|
|
|
- stage: "Basic tests"
|
|
name: "Django 2.2, postgresql"
|
|
env: CI_DEPS="Django>=2.2,<2.3"
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Basic tests"
|
|
name: "Django 2.2, selenium"
|
|
env: CI_DEPS="Django>=2.2,<2.3"
|
|
script:
|
|
- ./ci/install-sauce
|
|
- ./ci/run-selenium
|
|
- kill `cat ~/.sauce-pid`
|
|
- cat ~/.sauce-log
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
- stage: "Basic tests"
|
|
name: "Setup"
|
|
script:
|
|
- ./ci/run-setup
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Basic tests"
|
|
name: "PostgreSQL Migrations"
|
|
env: CI_DEPS="Django>=2.1,<2.2"
|
|
script:
|
|
- ./ci/run-migrate
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
|
|
- stage: "Extended tests"
|
|
name: "Django 2.2, sqlite"
|
|
env: CI_DEPS="Django>=2.2,<2.3" CI_DATABASE=sqlite
|
|
- stage: "Extended tests"
|
|
name: "Django 2.2, mysql"
|
|
env: CI_DEPS="Django>=2.2,<2.3" CI_DATABASE=mysql
|
|
addons:
|
|
<<: *aptaddon
|
|
mariadb: "10.3"
|
|
services:
|
|
- mysql
|
|
- stage: "Extended tests"
|
|
name: 'Django 2.1'
|
|
env: CI_DEPS="Django>=2.1,<2.2"
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Extended tests"
|
|
name: 'Django 2.2, Python 3.5'
|
|
python: "3.5"
|
|
env: CI_DEPS="Django>=2.2,<2.3"
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Extended tests"
|
|
name: 'Django 1.11, Python 2.7'
|
|
python: "2.7"
|
|
env: CI_DEPS="Django>=1.11,<1.12"
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Extended tests"
|
|
name: 'translate-toolkit pre-release'
|
|
env: CI_DEPS="https://github.com/translate/translate/archive/master.zip"
|
|
addons:
|
|
<<: *aptaddon
|
|
postgresql: "9.6"
|
|
services:
|
|
- postgresql
|
|
- stage: "Extended tests"
|
|
name: "MySQL migrations"
|
|
env: CI_DEPS="Django>=2.1,<2.2" CI_DATABASE=mysql
|
|
script:
|
|
- ./ci/run-migrate
|
|
addons:
|
|
<<: *aptaddon
|
|
mariadb: "10.3"
|
|
services:
|
|
- mysql
|