Skip to content

Commit

Permalink
Test multiple versions of Python.
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-de-bock committed Jul 21, 2024
1 parent 48086b1 commit 6ce4e47
Show file tree
Hide file tree
Showing 5 changed files with 175 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
108 changes: 98 additions & 10 deletions .github/workflows/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,57 @@ jobs:
uses: actions/checkout@v4
- name: ansible-lint
uses: ansible-community/ansible-lint-action@main
test:

python-3-8:
needs:
- lint
runs-on: ubuntu-20.04
container:
image: python:3.8
strategy:
fail-fast: false
matrix:
config:
- image: "alpine"
tag: "latest"
- 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"
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-9:
needs:
- lint
runs-on: ubuntu-20.04
container:
image: python:3.9
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -55,18 +102,59 @@ 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: "alpine"
tag: "latest"
- image: "amazonlinux"
tag: "latest"
- 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"
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 }}
20 changes: 17 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,53 @@
---
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: "alpine"
tag: "latest"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "amazonlinux"
tag: "latest"
python: ['python:3.9', 'python:3.10']
- image: "enterpriselinux"
tag: "latest"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "debian"
tag: "latest"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "debian"
tag: "bullseye"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "fedora"
tag: "39"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "fedora"
tag: "latest"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "fedora"
tag: "rawhide"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "latest"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "jammy"
python: ['python:3.8', 'python:3.9', 'python:3.10']
- image: "ubuntu"
tag: "focal"
python: ['python:3.8', 'python:3.9', 'python:3.10']

galaxy:
script:
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 == 24.*
molecule == 24.*
molecule-plugins[docker] == 23.*
ansible-lint == 24.*
paramiko == 3.*
molecule
molecule-plugins[docker]
paramiko
56 changes: 56 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
[tox]
envlist = ansible-2.{12,13,14,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

[testenv:ansible-2.12]
basepython = python3.8
deps =
-rrequirements.txt
ansible-core==2.12.*
ansible-lint==5.*

[testenv:ansible-2.13]
basepython = python3.8
deps =
-rrequirements.txt
ansible-core==2.13.*
ansible-lint==5.*

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

[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.*

0 comments on commit 6ce4e47

Please sign in to comment.