Compare commits
2 commits
e74723982d
...
79ae7f8690
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79ae7f8690 | ||
|
|
55406b1e3d |
5 changed files with 15 additions and 88 deletions
|
|
@ -8,13 +8,21 @@
|
||||||
# to run as the 'git' user (pre-created in the Forgejo Docker image).
|
# to run as the 'git' user (pre-created in the Forgejo Docker image).
|
||||||
|
|
||||||
when:
|
when:
|
||||||
event: [push, pull_request]
|
- event: pull_request
|
||||||
path:
|
path:
|
||||||
- "bin/disinto"
|
- "bin/disinto"
|
||||||
- "lib/load-project.sh"
|
- "lib/load-project.sh"
|
||||||
- "tests/smoke-init.sh"
|
- "tests/smoke-init.sh"
|
||||||
- ".woodpecker/smoke-init.yml"
|
- ".woodpecker/smoke-init.yml"
|
||||||
- "docker/**"
|
- "docker/**"
|
||||||
|
- event: push
|
||||||
|
branch: main
|
||||||
|
path:
|
||||||
|
- "bin/disinto"
|
||||||
|
- "lib/load-project.sh"
|
||||||
|
- "tests/smoke-init.sh"
|
||||||
|
- ".woodpecker/smoke-init.yml"
|
||||||
|
- "docker/**"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: smoke-init
|
- name: smoke-init
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# gardener/recipes/cascade-rebase.toml — PR outdated after main moved
|
|
||||||
#
|
|
||||||
# Trigger: PR mergeable=false (stale branch or dismissed approval)
|
|
||||||
# Playbook: rebase only — merge and re-approval happen on subsequent cycles
|
|
||||||
# after CI reruns on the rebased branch (rebase is async via Gitea API)
|
|
||||||
|
|
||||||
name = "cascade-rebase"
|
|
||||||
description = "PR outdated after main moved — mergeable=false or stale approval"
|
|
||||||
priority = 20
|
|
||||||
|
|
||||||
[trigger]
|
|
||||||
pr_mergeable = false
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "rebase-pr"
|
|
||||||
description = "Rebase PR onto main (async — CI reruns, merge on next cycle)"
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
# gardener/recipes/chicken-egg-ci.toml — PR introduces CI step that fails on pre-existing code
|
|
||||||
#
|
|
||||||
# Trigger: New .woodpecker/*.yml in PR + lint/check step + failures on unchanged files
|
|
||||||
# Playbook: make step non-blocking, create per-file issues, create follow-up to remove bypass
|
|
||||||
|
|
||||||
name = "chicken-egg-ci"
|
|
||||||
description = "PR introduces a CI pipeline/linting step that fails on pre-existing code"
|
|
||||||
priority = 10
|
|
||||||
|
|
||||||
[trigger]
|
|
||||||
pr_files = '\.woodpecker/.*\.yml$'
|
|
||||||
step_name = '(?i)(lint|shellcheck|check)'
|
|
||||||
failures_on_unchanged = true
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "make-step-non-blocking"
|
|
||||||
description = "Make failing step non-blocking (|| true) in the PR"
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "lint-per-file"
|
|
||||||
description = "Create per-file fix issues for pre-existing violations (generic linter support)"
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "create-followup-remove-bypass"
|
|
||||||
description = "Create follow-up issue to remove || true once fixes land"
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
# gardener/recipes/flaky-test.toml — CI fails intermittently
|
|
||||||
#
|
|
||||||
# Trigger: Test step fails + multiple CI attempts (same step, different output)
|
|
||||||
# Playbook: retrigger CI (max 2x), quarantine test if still failing
|
|
||||||
|
|
||||||
name = "flaky-test"
|
|
||||||
description = "CI fails intermittently — same step fails across multiple attempts"
|
|
||||||
priority = 30
|
|
||||||
|
|
||||||
[trigger]
|
|
||||||
step_name = '(?i)test'
|
|
||||||
min_attempts = 2
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "retrigger-ci"
|
|
||||||
description = "Retrigger CI (max 2 retries)"
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "quarantine-test"
|
|
||||||
description = "If still failing, quarantine test and create fix issue"
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
# gardener/recipes/shellcheck-violations.toml — ShellCheck step fails
|
|
||||||
#
|
|
||||||
# Trigger: Step named *shellcheck* fails with SC#### codes in output
|
|
||||||
# Playbook: parse per-file, create one issue per file, label backlog
|
|
||||||
|
|
||||||
name = "shellcheck-violations"
|
|
||||||
description = "ShellCheck step fails with SC#### codes in output"
|
|
||||||
priority = 40
|
|
||||||
|
|
||||||
[trigger]
|
|
||||||
step_name = '(?i)shellcheck'
|
|
||||||
output = 'SC\d{4}'
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "shellcheck-per-file"
|
|
||||||
description = "Parse output by file, create one fix issue per file with specific SC codes"
|
|
||||||
|
|
||||||
[[playbook]]
|
|
||||||
action = "label-backlog"
|
|
||||||
description = "Label created issues as backlog"
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue