ci: migrate from gitlab ci to woodpecker
All checks were successful
ci/woodpecker/push/linting Pipeline was successful

This commit is contained in:
Simon Cornet 2026-05-15 14:13:50 +02:00
commit aec9b653ee
6 changed files with 60 additions and 30 deletions

View file

@ -3,6 +3,7 @@
exclude_paths:
- ".gitlab/*"
- ".gitlab-ci.yml"
- ".woodpecker/*"
- "defaults/main.yaml"
- "meta/main.yaml"
- "vars/*"

View file

@ -1,13 +0,0 @@
---
# gitlab stages
stages:
- "gitleaks"
- "linting"
# include components
include:
- component: "$CI_SERVER_FQDN/components/ansible/linting@v3.0.3"
- component: "$CI_SERVER_FQDN/components/gitleaks/gitleaks@v1.0.0"
- component: "$CI_SERVER_FQDN/components/markdownlint/markdownlint@1.0.0"
- component: "$CI_SERVER_FQDN/components/yamllint/yamllint@1.0.2"

View file

@ -6,7 +6,8 @@
// linting rules
"config": {
"MD013": {
"line_length": 120
"line_length": 120,
"tables": false
}
}
}

41
.woodpecker/linting.yml Normal file
View file

@ -0,0 +1,41 @@
---
when:
- event: "push"
branch: "main"
- event: "manual"
steps:
# gitleaks
- name: "gitleaks"
# renovate: datasource=github-releases depName=gitleaks/gitleaks
image: "cr.simoncor.net/ghcr/gitleaks/gitleaks:v8.30.1"
commands:
- "gitleaks detect --source . --verbose --redact"
# yamllint
- name: "yamllint"
# renovate: datasource=docker depName=cr.simoncor.net/yamllint
image: "cr.simoncor.net/yamllint:1.38.0"
depends_on:
- "gitleaks"
commands:
- "yamllint -c .yamllint ."
# ansible-lint
- name: "ansible-lint"
# renovate: datasource=docker depName=docker.io/pipelinecomponents/ansible-lint
image: "cr.simoncor.net/dockerhub/pipelinecomponents/ansible-lint:0.79.11"
depends_on:
- "gitleaks"
commands:
- "ansible-lint -c .ansible-lint ."
# markdownlint
- name: "markdownlint"
# renovate: datasource=docker depName=docker.io/davidanson/markdownlint-cli2
image: "cr.simoncor.net/dockerhub/davidanson/markdownlint-cli2:v0.22.1"
depends_on:
- "gitleaks"
commands:
- "markdownlint-cli2 --config .markdownlint-cli2.jsonc"

View file

@ -4,21 +4,21 @@ Install and configure [Semaphore UI](https://semaphoreui.com/) - a modern UI for
## Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `mitogen_version` | No | `0.3.45` | Mitogen version to install |
| `semaphore_admin_username` | No | `admin` | Admin username |
| `semaphore_admin_password` | Yes | `admin` | Admin password |
| `semaphore_admin_name` | No | `Administrator` | Admin display name |
| `semaphore_admin_email` | No | `admin@example.com` | Admin email |
| `semaphore_runner_token` | Yes | `runner-token` | Runner authentication token |
| `semaphore_email_sender` | No | `semaphore@example.com` | Email sender address |
| `semaphore_email_host` | No | `smtp` | SMTP host |
| `semaphore_email_port` | No | `465` | SMTP port |
| `semaphore_email_username` | No | `smtp-user` | SMTP username |
| `semaphore_email_password` | Yes | `smtp-pass` | SMTP password |
| `semaphore_ansible_ssh_key` | Yes | - | Ansible SSH private key |
| `semaphore_ssh_config` | No | - | SSH config content |
| Variable | Required | Default | Description |
| --------------------------- | -------- | ----------------------- | --------------------------- |
| `mitogen_version` | No | `0.3.45` | Mitogen version to install |
| `semaphore_admin_username` | No | `admin` | Admin username |
| `semaphore_admin_password` | Yes | `admin` | Admin password |
| `semaphore_admin_name` | No | `Administrator` | Admin display name |
| `semaphore_admin_email` | No | `admin@example.com` | Admin email |
| `semaphore_runner_token` | Yes | `runner-token` | Runner authentication token |
| `semaphore_email_sender` | No | `semaphore@example.com` | Email sender address |
| `semaphore_email_host` | No | `smtp` | SMTP host |
| `semaphore_email_port` | No | `465` | SMTP port |
| `semaphore_email_username` | No | `smtp-user` | SMTP username |
| `semaphore_email_password` | Yes | `smtp-pass` | SMTP password |
| `semaphore_ansible_ssh_key` | Yes | ----------------------- | Ansible SSH private key |
| `semaphore_ssh_config` | No | ----------------------- | SSH config content |
## Example

View file

@ -2,5 +2,5 @@
roles:
- name: "semaphore"
src: "https://gitlab.simoncor.net/ansible/ans-semaphore.git"
src: "https://git.simoncor.net/ansible/semaphore.git"
scm: "git"