Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI tests: upgraded version of molecule and ansible-core packages #136

Merged
merged 2 commits into from
Feb 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
exclude_paths:
- molecule/
skip_list:
- '306' # [306] Shells that use pipes should set the pipefail option
- 'args' # [args] throws a warning on community.docker.docker_container for a correct attribute (cgroupns_mode)
20 changes: 10 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,33 @@ on:

jobs:
Lint:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run ansible-lint
uses: ansible-community/ansible-lint-action@main
uses: ansible/ansible-lint@main
Tests:
name: Test role
runs-on: ubuntu-20.04
name: Test role on different ansible versions
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
ansible:
- "2.12"
- "2.13"
- "2.14"
- "2.15"
- "2.16"
scenario:
- dnsdist-16
- dnsdist-17
- dnsdist-18
- dnsdist-master
steps:
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
34 changes: 25 additions & 9 deletions .yamllint
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,31 @@
extends: default

rules:
# Disable line-length and truthy values reporting
line-length: disable
truthy: disable

# Max 1 space to separate the elements in brakets
braces:
max-spaces-inside: 1

# Max 1 space in empty brackets
level: error
brackets:
min-spaces-inside-empty: 0
max-spaces-inside-empty: 1
max-spaces-inside: 1
level: error
colons:
max-spaces-after: -1
level: error
commas:
max-spaces-after: -1
level: error
comments: disable
comments-indentation: disable
document-start: disable
empty-lines:
max: 3
level: error
hyphens:
level: error
indentation: disable
key-duplicates: enable
line-length: disable
new-line-at-end-of-file: disable
new-lines:
type: unix
trailing-spaces: disable
truthy: disable
3 changes: 2 additions & 1 deletion molecule/dnsdist-16/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---

- hosts: all
- name: Dnsdist 1.6
hosts: all
vars_files:
- ../resources/vars/dnsdist-common.yml
- ../resources/vars/dnsdist-repo-16.yml
Expand Down
3 changes: 2 additions & 1 deletion molecule/dnsdist-17/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---

- hosts: all
- name: Dnsdist 1.7
hosts: all
vars_files:
- ../resources/vars/dnsdist-common.yml
- ../resources/vars/dnsdist-repo-17.yml
Expand Down
3 changes: 2 additions & 1 deletion molecule/dnsdist-18/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---

- hosts: all
- name: Dnsdist 1.8
hosts: all
vars_files:
- ../resources/vars/dnsdist-common.yml
- ../resources/vars/dnsdist-repo-18.yml
Expand Down
3 changes: 2 additions & 1 deletion molecule/dnsdist-master/converge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---

- hosts: all
- name: Dnsdist Master
hosts: all
vars_files:
- ../resources/vars/dnsdist-common.yml
- ../resources/vars/dnsdist-repo-master.yml
Expand Down
15 changes: 10 additions & 5 deletions molecule/resources/create.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,19 @@
- vars/molecule.yml
tasks:

- set_fact:
- name: Get list of service instances
ansible.builtin.set_fact:
molecule_service_instances: "{{ molecule_yml.platforms | selectattr('is_service', 'defined') | selectattr('is_service') | list }}"
- set_fact:

- name: Get list of platform instances
ansible.builtin.set_fact:
molecule_platform_instances: "{{ molecule_yml.platforms | difference(molecule_service_instances) }}"

- name: Create Dockerfiles from image names
template:
ansible.builtin.template:
src: "Dockerfile.{{ item.dockerfile_tpl | default('default') }}.j2"
dest: "{{ molecule_ephemeral_directory }}/Dockerfile_{{ item.image | regex_replace('[^a-zA-Z0-9_]', '_') }}"
mode: '0644'
with_items: "{{ molecule_platform_instances }}"
register: platforms

Expand All @@ -39,7 +43,7 @@
when: platforms.changed or docker_images.results | map(attribute='images') | select('equalto', []) | list | count >= 0

- name: Create molecule instance(s)
docker_container:
community.docker.docker_container:
name: "{{ item.name }}"
hostname: "{{ item.name }}"
image: "{{ item.image }}"
Expand All @@ -51,7 +55,7 @@
with_items: "{{ molecule_service_instances }}"

- name: Create the required Services instance(s)
docker_container:
community.docker.docker_container:
name: "{{ item.name }}"
hostname: "{{ item.name }}"
image: "molecule_dnsdist/{{ item.image }}"
Expand All @@ -63,4 +67,5 @@
volumes:
# Mount the cgroups fs to allow SystemD to run into the containers
- "/sys/fs/cgroup:/sys/fs/cgroup:rw"
cgroupns_mode: host
with_items: "{{ molecule_platform_instances }}"
2 changes: 1 addition & 1 deletion molecule/resources/destroy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
- vars/molecule.yml
tasks:
- name: Destroy the target Platforms instance(s)
docker_container:
community.docker.docker_container:
name: "{{ item.name }}"
state: absent
force_kill: "{{ item.force_kill | default(True) }}"
Expand Down
12 changes: 6 additions & 6 deletions test-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ansible-lint==6.17.2
yamllint==1.32.0
molecule-plugins[docker]==23.4.1
molecule-plugins[lint]==23.4.1
molecule==5.1.0
pytest-testinfra==8.1.0
ansible-lint==24.12.2
yamllint==1.35.1
molecule-plugins[docker]==23.6.0
molecule-plugins[lint]==23.6.0
molecule==24.9.0
pytest-testinfra==10.1.1
docker==7.1.0
10 changes: 5 additions & 5 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
[tox]
minversion = 1.8
envlist = ansible{212,213,214}
envlist = ansible{214,215,216}
skipsdist = true

[gh-actions:env]
ANSIBLE=
2.12: ansible212
2.13: ansible213
2.14: ansible214
2.15: ansible215
2.16: ansible216

[testenv]
passenv = *
deps =
-rtest-requirements.txt
ansible212: ansible-core>2.12,<2.13
ansible213: ansible-core>2.13,<2.14
ansible214: ansible-core>2.14,<2.15
ansible215: ansible-core>2.15,<2.16
ansible216: ansible-core>2.16,<2.17
setenv =
PY_COLORS = 1
commands =
Expand Down