Together with ChrisBr I developed a solution to test the package build of a git report directly in OBS. It's currently in phase of refactoring, so I forked it temporarly to https://github.com/coolo/pull_request_package and setup a local cron job to run docker run -v=/space/puller-config:/config -t openqapusher/osrt_pull_request_package every 5 minutes.
136 lines
5.0 KiB
YAML
136 lines
5.0 KiB
YAML
addons:
|
|
apt:
|
|
packages:
|
|
# Used by dist/ci/docker-run.
|
|
- realpath
|
|
|
|
env:
|
|
global:
|
|
- OBS_PACKAGE="openSUSE:Tools/openSUSE-release-tools"
|
|
- OBS_USER="jberry"
|
|
# OBS_PASS
|
|
- secure: "0MI2ZbJ+C1FoOa+rBYq3+NQBoQzE528B1mNacZx5xaH6IipFklW9TlCUSO91Pgf2l72HzNL5GhBbYGtAO9og0tyJO9Vm+7F+AUNQHQjfD46r1MyxBlACi6FGwuR+E32OIFilekJCnNKp55Cl5O2wGWUcRRVlM6/+k24dt3lkIoY="
|
|
- OBS_EMAIL="opensuse-releaseteam@opensuse.org"
|
|
|
|
matrix:
|
|
include:
|
|
- env: TEST_SUITE=flake8
|
|
language: python
|
|
install:
|
|
- pip install flake8
|
|
script:
|
|
- flake8
|
|
- ./dist/ci/flake-extra
|
|
- env: TEST_SUITE=nosetests
|
|
sudo: required
|
|
services:
|
|
- docker
|
|
language: python
|
|
python: 2.7
|
|
before_install:
|
|
# provides xmllint used by test_bootstrap_copy (tests.freeze_tests.TestFreeze)
|
|
- sudo apt-get install libxml2-utils
|
|
install:
|
|
# urlgrabber needed to install osc from git in requirements.txt
|
|
# m2crypto for osc to be runable as used in docker-compose-obs
|
|
- pip install pycurl urlgrabber 'm2crypto<0.33' pika
|
|
- pip install -r requirements.txt
|
|
- pip install python-coveralls
|
|
- pip install nose-exclude
|
|
before_script:
|
|
# travis-ci/travis-ci#7008: stop services to make room for OBS setup
|
|
- sudo service mysql stop
|
|
- sudo service memcached stop
|
|
- ./dist/ci/docker-compose-obs
|
|
# Needs python prefix to use the correct interpretor.
|
|
- python ./obs_clone.py --cache --debug --apiurl-target local
|
|
script:
|
|
- nosetests --with-coverage --cover-package=. --cover-inclusive --exclude-dir=./oqamaint --exclude-dir=./pkglistgen --exclude-dir=./ttm -c .noserc
|
|
after_success:
|
|
- coveralls
|
|
- env: TEST_SUITE=nosetests-osc-python3
|
|
sudo: required
|
|
services:
|
|
- docker
|
|
language: python
|
|
python: 2.7
|
|
before_install:
|
|
# provides xmllint used by test_bootstrap_copy (tests.freeze_tests.TestFreeze)
|
|
- sudo apt-get install libxml2-utils
|
|
install:
|
|
# urlgrabber needed to install osc from git in requirements.txt
|
|
# m2crypto for osc to be runable as used in docker-compose-obs
|
|
- pip install pycurl urlgrabber 'm2crypto<0.33' pika
|
|
- sed -i 's|osc|osc@python3|' requirements.txt
|
|
- pip install -r requirements.txt
|
|
- pip install python-coveralls
|
|
- pip install nose-exclude
|
|
before_script:
|
|
# travis-ci/travis-ci#7008: stop services to make room for OBS setup
|
|
- sudo service mysql stop
|
|
- sudo service memcached stop
|
|
- ./dist/ci/docker-compose-obs
|
|
# Needs python prefix to use the correct interpretor.
|
|
- python ./obs_clone.py --cache --debug --apiurl-target local
|
|
script:
|
|
- nosetests --with-coverage --cover-package=. --cover-inclusive --exclude-dir=./oqamaint --exclude-dir=./pkglistgen --exclude-dir=./ttm -c .noserc
|
|
after_success:
|
|
- coveralls
|
|
- env: TEST_SUITE=nosetests-osc-python3
|
|
sudo: required
|
|
services:
|
|
- docker
|
|
language: python
|
|
python: 3.6
|
|
before_install:
|
|
# provides xmllint used by test_bootstrap_copy (tests.freeze_tests.TestFreeze)
|
|
- sudo apt-get install libxml2-utils
|
|
install:
|
|
# m2crypto for osc to be runable as used in docker-compose-obs
|
|
- pip install pycurl 'm2crypto<0.33' pika
|
|
- sed -i 's|osc|osc@python3|' requirements.txt
|
|
- sed -i 's|urlgrabber||' requirements.txt
|
|
- pip install -r requirements.txt
|
|
- pip install python-coveralls
|
|
- pip install nose-exclude
|
|
before_script:
|
|
# travis-ci/travis-ci#7008: stop services to make room for OBS setup
|
|
- sudo service mysql stop
|
|
- sudo service memcached stop
|
|
- ./dist/ci/docker-compose-obs
|
|
# Needs python prefix to use the correct interpretor.
|
|
- python ./obs_clone.py --cache --debug --apiurl-target local
|
|
script:
|
|
- nosetests --with-coverage --cover-package=. --cover-inclusive --exclude-dir=./oqamaint --exclude-dir=./ttm --exclude-dir=./pkglistgen -c .noserc
|
|
after_success:
|
|
- coveralls
|
|
allow_failures:
|
|
- env: TEST_SUITE=nosetests-osc-python3
|
|
|
|
deploy:
|
|
provider: script
|
|
script: ./dist/ci/docker-run obs-deploy
|
|
on:
|
|
branch: master
|
|
condition: $TEST_SUITE = distribution && $TARGET_REPO = openSUSE_Factory
|
|
|
|
cache:
|
|
directories:
|
|
# obs_clone.py
|
|
- ~/.cache/openSUSE-release-tools/request/clone
|
|
# distribution jobs `osc build`
|
|
- .docker-tmp
|
|
pip: true
|
|
# 7 days
|
|
timeout: 604800
|
|
before_cache:
|
|
- sudo rm -rf .docker-tmp/build-root
|
|
- sudo chmod -R o+rw .docker-tmp
|
|
|
|
notifications:
|
|
email:
|
|
recipients:
|
|
# Avoid spam from forks by using secure value that is only available in
|
|
# main project (see travis-ci/travis-ci#5063).
|
|
- secure: "CpMzZ1W2x9KCCsrWiYXy8PVfR8vJfuR6ewm/oui7F/hCQ736YHbtQpCbC7GjVoDNpsnWc0XbvFjOl0ehwFBRo1FM1ejy4Zc+XdZSgVFvJ6zUHW/S7uxBZ3YuC07YCzQnHIHh0TCFkFK9GCw0lrcPpsjgneux+C8JQ6tz16H5AmA="
|