Skip to content

Commit f6c48c1

Browse files
authored
Add Alpine tests to all molecule scenarios (#191)
* Use distro specific Ansible modules to install NGINX * Install NGINX directly in Alpine distributions from the official repository to avoid naming conflicts * Set travis_wait parameter to max timeout setting
1 parent 59e0170 commit f6c48c1

File tree

11 files changed

+102
-5
lines changed

11 files changed

+102
-5
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ before_install:
1414
install:
1515
- pip install molecule[docker]
1616
script:
17-
- molecule test -s $scenario
17+
- travis_wait 50 molecule test -s $scenario
1818
notifications:
1919
webhooks: https://galaxy.ansible.com/api/v1/notifications/

molecule/module/molecule.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ driver:
44
lint:
55
name: yamllint
66
platforms:
7+
- name: alpine-3.8
8+
image: alpine:3.8
9+
dockerfile: ../common/Dockerfile.j2
10+
command: "/sbin/init"
11+
- name: alpine-3.9
12+
image: alpine:3.9
13+
dockerfile: ../common/Dockerfile.j2
14+
command: "/sbin/init"
15+
- name: alpine-3.10
16+
image: alpine:3.10
17+
dockerfile: ../common/Dockerfile.j2
18+
command: "/sbin/init"
719
- name: centos-6
820
image: centos:6
921
dockerfile: ../common/Dockerfile.j2

molecule/stable_push/molecule.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ driver:
77
lint:
88
name: yamllint
99
platforms:
10+
- name: alpine-3.8
11+
image: alpine:3.8
12+
dockerfile: ../common/Dockerfile.j2
13+
command: "/sbin/init"
14+
- name: alpine-3.9
15+
image: alpine:3.9
16+
dockerfile: ../common/Dockerfile.j2
17+
command: "/sbin/init"
18+
- name: alpine-3.10
19+
image: alpine:3.10
20+
dockerfile: ../common/Dockerfile.j2
21+
command: "/sbin/init"
1022
- name: centos-6
1123
image: centos:6
1224
dockerfile: ../common/Dockerfile.j2

molecule/template/molecule.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ driver:
77
lint:
88
name: yamllint
99
platforms:
10+
- name: alpine-3.8
11+
image: alpine:3.8
12+
dockerfile: ../common/Dockerfile.j2
13+
command: "/sbin/init"
14+
- name: alpine-3.9
15+
image: alpine:3.9
16+
dockerfile: ../common/Dockerfile.j2
17+
command: "/sbin/init"
18+
- name: alpine-3.10
19+
image: alpine:3.10
20+
dockerfile: ../common/Dockerfile.j2
21+
command: "/sbin/init"
1022
- name: centos-6
1123
image: centos:6
1224
dockerfile: ../common/Dockerfile.j2

molecule/unit/molecule.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ driver:
44
lint:
55
name: yamllint
66
platforms:
7+
- name: alpine-3.8
8+
image: alpine:3.8
9+
dockerfile: ../common/Dockerfile.j2
10+
command: "/sbin/init"
11+
- name: alpine-3.9
12+
image: alpine:3.9
13+
dockerfile: ../common/Dockerfile.j2
14+
command: "/sbin/init"
15+
- name: alpine-3.10
16+
image: alpine:3.10
17+
dockerfile: ../common/Dockerfile.j2
18+
command: "/sbin/init"
719
- name: centos-6
820
image: centos:6
921
dockerfile: ../common/Dockerfile.j2

molecule/unit/playbook.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,30 @@
11
---
22
- name: Converge
33
hosts: all
4+
pre_tasks:
5+
- name: "Set module if Alpine"
6+
set_fact:
7+
module:
8+
- "unit-perl"
9+
- "unit-php7"
10+
- "unit-python3"
11+
when: ansible_os_family == "Alpine"
12+
- name: "Set module if Debian/RedHat"
13+
set_fact:
14+
module:
15+
- "unit-perl"
16+
- "unit-php"
17+
- "unit-ruby"
18+
when: ansible_os_family == "Debian"
19+
- name: "Set module if RedHat"
20+
set_fact:
21+
module:
22+
- "unit-php"
23+
- "unit-go"
24+
when: ansible_os_family == "RedHat"
425
roles:
526
- role: ansible-role-nginx
627
vars:
728
nginx_enable: false
829
nginx_unit_enable: true
9-
nginx_unit_modules:
10-
- unit-php
30+
nginx_unit_modules: "{{ module }}"

tasks/opensource/install-oss-linux.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
- import_tasks: setup-suse.yml
1515
when: ansible_os_family == "Suse"
1616

17-
when: nginx_install_from == "nginx_repository"
17+
when:
18+
- nginx_install_from == "nginx_repository"
1819

1920
- name: "(Install: Linux) Install NGINX package"
2021
package:
2122
name: "nginx{{ nginx_version | default('') }}"
2223
state: present
23-
when: ansible_os_family in nginx_linux_families
24+
when:
25+
- nginx_install_from == "os_repository"
2426
notify: "(Handler: All OSs) Start NGINX"

tasks/opensource/setup-alpine.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,15 @@
1414
path: /etc/apk/repositories
1515
insertafter: EOF
1616
line: "{{ repository }}"
17+
18+
- name: "(Install: Alpine) Install Required Alpine Dependencies"
19+
apk:
20+
name:
21+
- openssl
22+
- pcre
23+
24+
- name: "(Install: Alpine) Install NGINX"
25+
apk:
26+
name: "nginx{{ nginx_version | default('') }}"
27+
repository: "{{ repository }}"
28+
notify: "(Handler: All OSs) Start NGINX"

tasks/opensource/setup-debian.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@
1818
repo: "{{ item }}"
1919
with_items:
2020
- "{{ repository }}"
21+
22+
- name: "(Install: Debian/Ubuntu) Install NGINX"
23+
apt:
24+
name: "nginx{{ nginx_version | default('') }}"
25+
notify: "(Handler: All OSs) Start NGINX"

tasks/opensource/setup-redhat.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@
1717
description: NGINX Repository
1818
enabled: yes
1919
gpgcheck: yes
20+
21+
- name: "(Install: CentOS/RedHat) Install NGINX"
22+
yum:
23+
name: "nginx{{ nginx_version | default('') }}"
24+
notify: "(Handler: All OSs) Start NGINX"

0 commit comments

Comments
 (0)