ansible-role-php-versions/.github/workflows/ci.yml

91 lines
2.0 KiB
YAML

---
name: CI
'on':
pull_request:
push:
branches:
- master
schedule:
- cron: "30 6 * * 4"
defaults:
run:
working-directory: 'geerlingguy.php-versions'
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
with:
path: 'geerlingguy.php-versions'
- name: Set up Python 3.
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install test dependencies.
run: pip3 install yamllint
- name: Lint code.
run: |
yamllint .
molecule:
name: Molecule
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Default PHP version.
- distro: rockylinux9
playbook: converge.yml
- distro: centos7
playbook: converge.yml
- distro: ubuntu2204
playbook: converge.yml
- distro: debian10
playbook: converge.yml
# PHP 8.1.
- distro: rockylinux8
playbook: 8.1.yml
- distro: ubuntu2004
playbook: 8.1.yml
- distro: debian10
playbook: 8.1.yml
# PHP 7.4.
- distro: rockylinux8
playbook: 7.4.yml
- distro: ubuntu2004
playbook: 7.4.yml
- distro: debian11
playbook: 7.4.yml
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
with:
path: 'geerlingguy.php-versions'
- name: Set up Python 3.
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install test dependencies.
run: pip3 install ansible molecule molecule-plugins[docker] docker
- name: Run Molecule tests.
run: molecule test
env:
PY_COLORS: '1'
ANSIBLE_FORCE_COLOR: '1'
MOLECULE_DISTRO: ${{ matrix.distro }}
MOLECULE_PLAYBOOK: ${{ matrix.playbook }}