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 0c587fb commit 51650da
Show file tree
Hide file tree
Showing 6 changed files with 121 additions and 18 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
58 changes: 48 additions & 10 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 @@ -49,18 +52,53 @@ jobs:
- name: checkout
uses: actions/checkout@v4

- name: Set up Python 3.
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
- name: molecule
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
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: "jammy"
- image: "ubuntu"
tag: "focal"
steps:
- name: checkout
uses: actions/checkout@v4

- name: molecule
run: molecule converge
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 }}
17 changes: 14 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,44 @@
---
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: "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"
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
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
8 changes: 3 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
ansible-compat == 24.*
molecule == 24.*
molecule-plugins[docker] == 23.*
ansible-lint == 24.*
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 51650da

Please sign in to comment.