forked from softasap/sa-vpn-softether
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
137 lines (126 loc) · 3.64 KB
/
.travis.yml
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
---
sudo: required
env:
# # Ubuntu
- distribution: ubuntu
version: 14.04
init: /sbin/init
run_opts: ""
playbook: test.yml
- distribution: ubuntu
version: 16.04
init: /bin/systemd
run_opts: "--privileged=true"
playbook: test.yml
- distribution: ubuntu
version: 18.04
init: /bin/systemd
run_opts: "--privileged=true"
playbook: test.yml
# Debian
- distribution: debian
version: wheezy
init: /sbin/init
run_opts: "--privileged=true"
playbook: test.yml
- distribution: debian
version: jessie
init: /bin/systemd
run_opts: "--privileged=true"
playbook: test.yml
- distribution: debian
version: stretch
init: /bin/systemd
run_opts: "--privileged=true"
playbook: test.yml
- distribution: debian
version: buster
init: /bin/systemd
run_opts: "--privileged=true"
playbook: test.yml
# Fedora
- distribution: fedora
version: 25
init: /usr/sbin/init
run_opts: "--privileged=true"
playbook: test.yml
- distribution: fedora
version: 26
init: /usr/sbin/init
run_opts: "--privileged=true"
playbook: test.yml
- distribution: fedora
version: 27
init: /usr/sbin/init
run_opts: "--privileged=true"
playbook: test.yml
- distribution: fedora
version: 28
init: /usr/sbin/init
run_opts: "--privileged=true"
playbook: test.yml
# CentOS
- distribution: centos
version: 6
init: /sbin/init
run_opts: "--privileged"
playbook: test.yml
- distribution: centos
version: 7
init: /usr/lib/systemd/systemd
run_opts: "--privileged"
playbook: test.yml
# Alpine
# - distribution: alpine
# version: 3.4
# init: /sbin/init
# playbook: test.yml
# - distribution: alpine
# version: 3.5
# init: /sbin/init
# playbook: test.yml
# - distribution: alpine
# version: 3.6
# init: /sbin/init
# playbook: test.yml
# - distribution: alpine
# version: 3.7
# init: /sbin/init
# playbook: test.yml
# - distribution: alpine
# version: 3.8
# init: /sbin/init
# playbook: test.yml
# Specify branches to build
branches:
only:
- master
- develop
services:
- docker
before_install:
# Pull container
- 'sudo docker pull ${distribution}:${version}'
# Customize container
- 'sudo docker build --rm=true --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests'
script:
# Generate a temporary file to record the container ID
- container_id=$(mktemp)
# Run container in detached state
- 'sudo docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test ${run_opts} ${distribution}-${version}:ansible "${init}" > "${container_id}"'
# Ansible syntax check
- 'sudo docker exec "$(cat ${container_id})" env TERM=xterm env ANSIBLE_FORCE_COLOR=1 ansible-playbook /etc/ansible/roles/role_under_test/tests/${playbook} --syntax-check'
# Test role
- 'sudo docker exec "$(cat ${container_id})" env TERM=xterm env ANSIBLE_FORCE_COLOR=1 ansible-playbook /etc/ansible/roles/role_under_test/tests/${playbook}'
# # Test role idempotence
# - >
# sudo docker exec "$(cat ${container_id})" env TERM=xterm env ANSIBLE_FORCE_COLOR=1 ansible-playbook /etc/ansible/roles/role_under_test/tests/${playbook} | tee /tmp/output.log; cat /tmp/output.log
# | grep -q 'unreachable=0.*failed=0'
# && (echo 'Idempotence test: pass' && exit 0)
# || (echo 'Idempotence test: fail' && exit 1)
# Clean up
- 'sudo docker rm -f "$(cat ${container_id})"'
notifications:
webhooks:
- https://galaxy.ansible.com/api/v1/notifications/
- https://fathomless-fjord-24024.herokuapp.com/notify