summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 4399c67e0e036f3866827b8dff9f6b09e2054baf (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
79
80
81
82
83
84
85
sudo: required
language: python

services:
  - docker
cache: pip
env:
  global:
    - CONTAINER=pkitest
    - SCRIPTDIR=/tmp/workdir/pki/.travis
    - DOGTAG_PKI_RPMS=${TRAVIS_BUILD_DIR}/dogtag_rpms
    - RPMS_LOCATION=/tmp/workdir/packages/RPMS
    - PKI_LOG=pki_log.log
    - CI_RESULTS_LOG="ci_results_${TRAVIS_BRANCH}.log"
    - IPA_TEST_RUNNER_IMAGE="dogtagpki/dogtag-freeipa-ci-containers:f25_ipa_4-5"
  matrix:
    - IMAGE=dogtagpki/pki-ci-containers:f25_104
    # F26 repo is unstable
    # - IMAGE=dogtagpki/pki-ci-containers:f26_104
    # rawhide repo is unstable
    # - IMAGE=dogtagpki/pki-ci-containers:rawhide

before_install:
  - docker pull ${IMAGE}
  - docker pull ${IPA_TEST_RUNNER_IMAGE}
  - >
    docker run
    --detach
    --name=${CONTAINER}
    --hostname='pki.test'
    --privileged
    --tmpfs /tmp
    --tmpfs /run
    -v /sys/fs/cgroup:/sys/fs/cgroup:ro
    -v $(pwd):/tmp/workdir/pki
    -e BUILDUSER_UID=$(id -u)
    -e BUILDUSER_GID=$(id -g)
    -e TRAVIS=${TRAVIS}
    -e TRAVIS_JOB_NUMBER=${TRAVIS_JOB_NUMBER}
    -ti
    ${IMAGE}

install:
  - docker exec -ti ${CONTAINER} /bin/ls -la /tmp/workdir

  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/00-init
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/10-compose-rpms

  # Copy the built RPMS to host machine
  - mkdir -p ${DOGTAG_PKI_RPMS}
  - docker cp ${CONTAINER}:${RPMS_LOCATION}/. ${DOGTAG_PKI_RPMS}
  - ls ${DOGTAG_PKI_RPMS}

  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/20-install-rpms
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/30-setup-389ds

  # IPA related installs
  - 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:
  # Test whether pki subsystem works correctly
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/40-spawn-ca
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/50-spawn-kra
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/99-destroy
  # copy pki.server for Python 3 and rewrite pkispawn/pkidestroy shebang
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/py3rewrite
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/30-setup-389ds
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/40-spawn-ca
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/50-spawn-kra
  - docker exec -ti ${CONTAINER} ${SCRIPTDIR}/99-destroy
  # It is time to run FreeIPA tests with new Dogtag RPMS built
  - travis_wait 20 ./.travis_run_ipa_task.sh
after_script:
  - docker kill ${CONTAINER}
  - docker rm ${CONTAINER}
# The errors can be in either dogtag container or freeipa container
after_failure:
  - docker exec ${CONTAINER} journalctl  -l > ${PKI_LOG}
  - echo "Uploading CI Logs to transfer.sh ..."
  - curl --upload-file ./${PKI_LOG} https://transfer.sh/dogtag_build_logs.txt
  - curl --upload-file ./${CI_RESULTS_LOG} https://transfer.sh/freeipa-integration.txt