The role was not covered by any automated test, so regressions in the drop-in file handling only surfaced on real hosts. The scenario starts one container per supported distribution family and covers all four conditional branches of tasks/main.yaml: a user, a user acting as another user, a group and a group acting as another user. Beside the created rules the verification asserts that a rule declared as absent is removed again, that the drop-in directory is included exactly once and that visudo accepts the resulting configuration, because a rejected drop-in file invalidates every rule of the directory. Co-authored-by: Copilot <copilot@github.com>
31 lines
777 B
YAML
31 lines
777 B
YAML
name: Molecule
|
|
|
|
on:
|
|
pull_request:
|
|
types: [ "opened", "reopened", "synchronize" ]
|
|
push:
|
|
branches: [ '**' ]
|
|
tags-ignore: [ '**' ]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
molecule:
|
|
name: Molecule
|
|
runs-on: ubuntu-latest-amd64
|
|
steps:
|
|
# The scenario includes the role by its name, so the directory must be named like the role and not like the
|
|
# repository. Its parent is used as roles path.
|
|
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
|
|
with:
|
|
path: sudo
|
|
- name: Install molecule
|
|
run: |
|
|
apt update --yes
|
|
apt install --yes python3-pip
|
|
pip3 install --break-system-packages molecule docker
|
|
- name: Run molecule
|
|
run: molecule test
|
|
working-directory: sudo
|