summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: d6fbb553c8e58f3a1d3dcb0e85be73844b4dff0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
language: python
services:
    - docker

python:
    - "3.6"
cache: pip
env:
    global:
        - TEST_RUNNER_IMAGE="freeipa/freeipa-test-runner:master-latest"
          PEP8_ERROR_LOG="pycodestyle_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"
          TEST_RUNNER_CONFIG=".test_runner_config.yaml"
        - TASK_TO_RUN="run-tests"
          PYTHON=/usr/bin/python2
          TEST_RUNNER_CONFIG=".test_runner_config.yaml"
          TESTS_TO_RUN="test_xmlrpc/test_[a-k]*.py"
        - TASK_TO_RUN="run-tests"
          PYTHON=/usr/bin/python2
          TEST_RUNNER_CONFIG=".test_runner_config.yaml"
          TESTS_TO_RUN="test_cmdline
            test_install
            test_ipaclient
            test_ipalib
            test_ipaplatform
            test_ipapython
            test_ipaserver
            test_xmlrpc/test_[l-z]*.py"
        - TASK_TO_RUN="run-tests"
          PYTHON=/usr/bin/python3
          TEST_RUNNER_CONFIG=".test_runner_config_py3_temp.yaml"
          TESTS_TO_RUN="test_xmlrpc/test_[a-k]*.py"
        - TASK_TO_RUN="run-tests"
          PYTHON=/usr/bin/python3
          TEST_RUNNER_CONFIG=".test_runner_config_py3_temp.yaml"
          TESTS_TO_RUN="test_cmdline
                test_install
                test_ipaclient
                test_ipalib
                test_ipaplatform
                test_ipapython
                test_ipaserver
                test_xmlrpc/test_[l-z]*.py"
        - TASK_TO_RUN="tox"
          TEST_RUNNER_CONFIG=".test_runner_config.yaml"
install:
    - pip3 install --upgrade pip
    - pip3 install pycodestyle
    - >
      pip3 install
      git+https://github.com/freeipa/ipa-docker-test-runner@release-0-2-2

script:
    - mkdir -p $CI_RUNNER_LOGS_DIR
    - travis_wait 50 ./.travis_run_task.sh
    - test -z "`cat $PEP8_ERROR_LOG`"
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