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 44d1cbb commit 1a4efb2
Show file tree
Hide file tree
Showing 10 changed files with 134 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
63 changes: 55 additions & 8 deletions .github/workflows/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,13 @@ 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:
Expand All @@ -35,8 +38,6 @@ jobs:
tag: "latest"
- image: "debian"
tag: "bullseye"
- image: "enterpriselinux"
tag: "8"
- image: "enterpriselinux"
tag: "latest"
- image: "fedora"
Expand All @@ -45,8 +46,50 @@ 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: "amazonlinux"
tag: "latest"
- image: "debian"
tag: "latest"
- image: "debian"
tag: "bullseye"
- image: "enterpriselinux"
tag: "latest"
- image: "fedora"
tag: "39"
- image: "fedora"
tag: "latest"
- image: "fedora"
tag: "rawhide"
- image: "ubuntu"
tag: "latest"
- image: "ubuntu"
Expand All @@ -56,10 +99,14 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v4
with:
path: "${{ github.repository }}"

- name: molecule
uses: robertdebock/molecule-action@6.0.1
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 }}
23 changes: 16 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,50 @@
---
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: "amazonlinux"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "debian"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "debian"
tag: "bullseye"
- image: "enterpriselinux"
tag: "8"
python: ['python:3.9', 'python:3.10']
- image: "enterpriselinux"
tag: "latest"
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 @@ -78,9 +78,8 @@ This role has been tested on these [container images](https://hub.docker.com/u/r
|---------|----|
|[Amazon](https://hub.docker.com/r/robertdebock/amazonlinux)|Candidate|
|[Debian](https://hub.docker.com/r/robertdebock/debian)|all|
|[EL](https://hub.docker.com/r/robertdebock/enterpriselinux)|all|
|[EL](https://hub.docker.com/r/robertdebock/enterpriselinux)|9|
|[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
5 changes: 1 addition & 4 deletions meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,10 @@ galaxy_info:
- all
- name: EL
versions:
- all
- "9"
- 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
1 change: 1 addition & 0 deletions requirements.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
roles:
- name: robertdebock.bootstrap
collections:
- name: community.general
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 1a4efb2

Please sign in to comment.