Skip to content

AnsibleCI

AnsibleCI #463

Workflow file for this run

---
name: AnsibleCI
on:
push:
pull_request:
workflow_dispatch:
schedule: # run weekly, every Monday 01:00
- cron: '0 1 * * 1'
permissions: {}
jobs:
build:
permissions:
contents: read
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
include:
- molecule_ditro: 'debian:bookworm'
experimental: false
- molecule_ditro: 'debian:bullseye'
experimental: false
- molecule_distro: 'rockylinux:9'
experimental: true
- molecule_distro: 'ubuntu:24.04'
experimental: true
- molecule_distro: 'ubuntu:22.04'
experimental: false
env:
ANSIBLE_CALLBACKS_ENABLED: profile_tasks
MOLECULE_NO_LOG: "false"
ANSIBLE_ROLE: juju4.misp
steps:
- uses: actions/checkout@v4
with:
path: ${{ env.ANSIBLE_ROLE }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install molecule[docker] ansible-lint flake8 testinfra ansible
mkdir -p $HOME/.ansible/roles && ln -s $GITHUB_WORKSPACE/$ANSIBLE_ROLE $HOME/.ansible/roles/
# template search only in currently executed role root/tasks/templates folders and molecule scenario root/templates folders
cp $GITHUB_WORKSPACE/$ANSIBLE_ROLE/templates/misp-snuffleupagus-rules.ini.j2 $GITHUB_WORKSPACE/$ANSIBLE_ROLE/molecule/default/
- name: Fetch central settings repository
run: |
export settings_repo="https://raw.githubusercontent.com/juju4/ansible-ci-settings/main"
cd $GITHUB_WORKSPACE/$ANSIBLE_ROLE
set -x
curl -o requirements.txt "$settings_repo/requirements.txt"
curl -o .ansible-lint "$settings_repo/.ansible-lint"
curl -o .yamllint "$settings_repo/.yamllint"
pip install -r requirements.txt
continue-on-error: true
- name: Environment
run: |
pwd
env
find -ls
- name: run test
run: |
cd $GITHUB_WORKSPACE/$ANSIBLE_ROLE && molecule test
env:
PY_COLORS: '1'
ANSIBLE_FORCE_COLOR: '1'
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}