Files
ansible-role-remote_users_fact/Jenkinsfile
T
fzarifian 54287ad9a0
CI / lint (push) Failing after 1m53s
CI / matrix (push) Failing after 12s
CI / test (push) Has been skipped
feat(ci): add multi-platform CI testing via Docker
Add CI infrastructure that tests the Ansible role on every distro
declared in meta/main.yml (EL 8/9, Debian bullseye/bookworm,
Ubuntu focal/jammy/noble) using Docker containers.

- ci/build_matrix.py: parse meta/main.yml platforms into JSON matrix
- ci/test_playbook.yml: test playbook (state=present + validate)
- ci/Dockerfile.el, ci/Dockerfile.debian: per-family Docker images
- Makefile: orchestrator (make test, make test-<slug>, make lint)
- .gitea/workflows/ci.yml: Gitea Actions with dynamic matrix
- .gitlab-ci.yml: GitLab CI pipeline
- Jenkinsfile: Jenkins pipeline with parallel stages
- .yamllint.yml: linter configuration
- .dockerignore: exclude .git and CI configs from Docker context
2026-04-14 00:17:42 +02:00

36 lines
899 B
Groovy

pipeline {
agent any
stages {
stage('Lint') {
steps {
sh 'pip install ansible-lint yamllint pyyaml'
sh 'make lint'
}
}
stage('Test Matrix') {
steps {
script {
def matrixJson = sh(script: 'python3 ci/build_matrix.py', returnStdout: true).trim()
def matrix = readJSON(text: matrixJson)
def parallelStages = [:]
matrix.each { entry ->
def slug = entry.slug
parallelStages[slug] = {
sh "make test-${slug}"
}
}
parallel parallelStages
}
}
}
}
post {
always {
sh 'make clean || true'
}
}
}