language: python services: - docker python: - "2.7" cache: pip env: global: - TEST_RUNNER_IMAGE="martbab/freeipa-fedora-test-runner:master-latest" TEST_RUNNER_CONFIG=".test_runner_config.yaml" PEP8_ERROR_LOG="pep8_errors.log" CI_RESULTS_LOG="ci_results_${TRAVIS_BRANCH}.log" CI_BACKLOG_SIZE=5000 CI_RUNNER_LOGS_DIR="/tmp/test-runner-logs" CI_RUNNER_LOG_ARCHIVE="freeipa-ci-pr-${TRAVIS_PULL_REQUEST}-job-${TRAVIS_JOB_NUMBER}.tar.gz" matrix: - TASK_TO_RUN="lint" - TASK_TO_RUN="run-tests" TESTS_TO_RUN="test_xmlrpc/test_[a-k]*.py" - TASK_TO_RUN="run-tests" TESTS_TO_RUN="test_cmdline test_install test_ipaclient test_ipalib test_ipapython test_ipaserver test_pkcs10 test_xmlrpc/test_[l-z]*.py" install: - pip install --upgrade pip - pip3 install --upgrade pip - pip install pep8 - > pip3 install git+https://github.com/freeipa/ipa-docker-test-runner@release-0-2-1 script: - mkdir -p $CI_RUNNER_LOGS_DIR - travis_wait 50 ./.travis_run_task.sh after_failure: - echo "Test runner output:"; tail -n $CI_BACKLOG_SIZE $CI_RESULTS_LOG - echo "PEP-8 errors:"; cat $PEP8_ERROR_LOG - > echo "Archiving CI logs"; if [[ "$TASK_TO_RUN" != "lint" ]]; then tar --ignore-failed-read -uvf var_log.tar $CI_RESULTS_LOG $PEP8_ERROR_LOG; gzip var_log.tar; mv var_log.tar.gz $CI_RUNNER_LOG_ARCHIVE; transfer_url=$( curl --upload-file \ ./$CI_RUNNER_LOG_ARCHIVE \ https://transfer.sh/${CI_RUNNER_LOG_ARCHIVE}) && echo "Download log archive from ${transfer_url}" || echo "Failed to upload log archive!"; fi