Skip to content

Commit

Permalink
Test maintained versions of ansible-core.
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-de-bock committed Jul 24, 2024
1 parent c29e6e6 commit 44b7216
Show file tree
Hide file tree
Showing 9 changed files with 129 additions and 27 deletions.
1 change: 1 addition & 0 deletions .ansible-lint
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# Ansible managed
#
exclude_paths:
- meta/preferences.yml
- molecule/default/prepare.yml
- molecule/default/converge.yml
- molecule/default/verify.yml
Expand Down
61 changes: 53 additions & 8 deletions .github/workflows/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@ jobs:
uses: actions/checkout@v4
- name: ansible-lint
uses: ansible-community/ansible-lint-action@main
test:

python-3-9:
needs:
- lint
runs-on: ubuntu-20.04
container:
image: python:3.9
strategy:
fail-fast: false
matrix:
config:
- image: "enterpriselinux"
tag: "8"
- image: "enterpriselinux"
tag: "latest"
- image: "debian"
Expand All @@ -43,8 +44,48 @@ jobs:
tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "opensuse"
- image: "ubuntu"
tag: "latest"
- image: "ubuntu"
tag: "jammy"
- image: "ubuntu"
tag: "focal"
steps:
- name: checkout
uses: actions/checkout@v4

- name: molecule
run: |
apt-get update -qq
apt-get -y -qq install yamllint docker.io
pip install --no-cache-dir tox
if [ -f tox.ini ] ; then tox ; fi
if [ ! -f tox.ini ] ; then pip install -r requirements.yml ; pip install ansible-lint ansible-core ; molecule test ; fi
env:
image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }}
python-3-10:
needs:
- lint
runs-on: ubuntu-20.04
container:
image: python:3.10
strategy:
fail-fast: false
matrix:
config:
- image: "enterpriselinux"
tag: "latest"
- image: "debian"
tag: "latest"
- image: "debian"
tag: "bullseye"
- image: "fedora"
tag: "39"
- image: "fedora"
tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "ubuntu"
tag: "latest"
- image: "ubuntu"
Expand All @@ -54,10 +95,14 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v4
with:
path: "${{ github.repository }}"

- name: molecule
uses: robertdebock/[email protected]
with:
run: |
apt-get update -qq
apt-get -y -qq install yamllint docker.io
pip install --no-cache-dir tox
if [ -f tox.ini ] ; then tox ; fi
if [ ! -f tox.ini ] ; then pip install -r requirements.yml ; pip install ansible-lint ansible-core ; molecule test ; fi
env:
image: ${{ matrix.config.image }}
tag: ${{ matrix.config.tag }}
22 changes: 15 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,47 @@
---
image: "robertdebock/github-action-molecule:6.0.1"

variables:
PY_COLORS: 1
DEBIAN_FRONTEND: noninteractive

molecule:
image: $python
script:
- apt-get update -qq
- apt-get -y -qq install yamllint docker.io
- pip install --no-cache-dir tox
- if [ -f tox.ini ] ; then tox ; fi
- if [ ! -f tox.ini ] ; then molecule test ; fi
- if [ ! -f tox.ini ] ; then pip install -r requirements.yml ; pip install ansible-lint ansible-core ; molecule test ; fi
rules:
- if: $CI_COMMIT_REF_NAME == "master"
parallel:
matrix:
- image: "enterpriselinux"
tag: "8"
- image: "enterpriselinux"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "debian"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "debian"
tag: "bullseye"
python: ['python:3.9', 'python:3.10']
- image: "fedora"
tag: "39"
python: ['python:3.9', 'python:3.10']
- image: "fedora"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "fedora"
tag: "rawhide"
- image: "opensuse"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "jammy"
python: ['python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "focal"
python: ['python:3.9', 'python:3.10']

galaxy:
script:
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,9 @@ This role has been tested on these [container images](https://hub.docker.com/u/r

|container|tags|
|---------|----|
|[EL](https://hub.docker.com/r/robertdebock/enterpriselinux)|8, 9|
|[EL](https://hub.docker.com/r/robertdebock/enterpriselinux)|9|
|[Debian](https://hub.docker.com/r/robertdebock/debian)|all|
|[Fedora](https://hub.docker.com/r/robertdebock/fedora)|all|
|[opensuse](https://hub.docker.com/r/robertdebock/opensuse)|all|
|[Ubuntu](https://hub.docker.com/r/robertdebock/ubuntu)|all|

The minimum version of Ansible required is 2.12, tests have been done to:
Expand Down
4 changes: 0 additions & 4 deletions meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,13 @@ galaxy_info:
platforms:
- name: EL
versions:
- "8"
- "9"
- name: Debian
versions:
- all
- name: Fedora
versions:
- all
- name: opensuse
versions:
- all
- name: Ubuntu
versions:
- all
Expand Down
7 changes: 7 additions & 0 deletions meta/preferences.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---

matrix_overrides:
amazonlinux:
python:
- python:3.9
- python:3.10
2 changes: 1 addition & 1 deletion molecule/default/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ platforms:
image: "${namespace:-robertdebock}/${image:-fedora}:${tag:-latest}"
command: /sbin/init
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /sys/fs/cgroup:/sys/fs/cgroup:rw
privileged: true
pre_build_image: true
provisioner:
Expand Down
8 changes: 3 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
ansible-compat == 4.*
molecule == 6.*
molecule-plugins[docker] == 23.*
ansible-lint == 6.*
paramiko == 3.*
molecule
molecule-plugins[docker]
paramiko
48 changes: 48 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
[tox]
envlist = ansible-2.{15,16,17}
skipsdist = true

[testenv]
commands = molecule test

setenv =
TOX_ENVNAME={envname}
PY_COLORS=1
ANSIBLE_FORCE_COLOR=1
ANSIBLE_ROLES_PATH=../

passenv = namespace, image, tag, DOCKER_HOST

# Test supported releases of ansible-core. See:
# https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix

[testenv:ansible-2.15]
basepython = python3.9
deps =
-rrequirements.txt
ansible-core==2.15.*
ansible-lint==6.*

[testenv:ansible-2.16]
basepython = python3.10
deps =
-rrequirements.txt
ansible-core==2.16.*
ansible-lint==24.*

[testenv:ansible-2.17]
basepython = python3.10
deps =
-rrequirements.txt
ansible-core==2.17.*
ansible-lint==24.*

# Future work, not releases, just prepared. See:
# https://docs.ansible.com/ansible/devel//roadmap/ROADMAP_2_18.html
# Note: enable python3.13 in `vars/main.yml` as well.
# [testenv:ansible-2.18]
# basepython = python3.13
# deps =
# -rrequirements.txt
# ansible-core==2.18.*
# ansible-lint==24.*

0 comments on commit 44b7216

Please sign in to comment.