[P9] Fix report-failure step skipped on deploy workflow failures #105

Closed
opened 2026-03-22 16:42:35 +00:00 by kert · 0 comments
Owner

Problem

The report-failure step uses when: status: [failure] but is consistently skipped even when the deploy workflow has failed steps (upload scans, build steps). The api.diag module correctly files Gitea issues for failures, but it never runs.

Possible causes:

  1. Woodpecker evaluates when: status before all steps complete
  2. The report-failure step has implicit dependencies preventing it from running
  3. The uv sync --no-dev in report-failure may fail silently before reaching api.diag

Fix

  • Add explicit depends_on with failure: ignore on upstream steps so report-failure runs after all steps regardless of status
  • Add failure: ignore to the report-failure step itself so pipeline status reflects the real failures, not the reporter
  • Consider adding a status: failure check + depends_on to all terminal steps

Acceptance criteria

  • When any deploy step fails, report-failure runs and files a Gitea issue
  • The filed issue contains the step name, log excerpt, and commit SHA
  • report-failure does not block or mask the actual failure status
## Problem The `report-failure` step uses `when: status: [failure]` but is consistently `skipped` even when the deploy workflow has failed steps (upload scans, build steps). The `api.diag` module correctly files Gitea issues for failures, but it never runs. Possible causes: 1. Woodpecker evaluates `when: status` before all steps complete 2. The `report-failure` step has implicit dependencies preventing it from running 3. The `uv sync --no-dev` in report-failure may fail silently before reaching `api.diag` ## Fix - Add explicit `depends_on` with `failure: ignore` on upstream steps so report-failure runs after all steps regardless of status - Add `failure: ignore` to the report-failure step itself so pipeline status reflects the real failures, not the reporter - Consider adding a `status: failure` check + `depends_on` to all terminal steps ## Acceptance criteria - [ ] When any deploy step fails, report-failure runs and files a Gitea issue - [ ] The filed issue contains the step name, log excerpt, and commit SHA - [ ] report-failure does not block or mask the actual failure status
kert added this to the P9: CI/CD Unification milestone 2026-03-22 16:42:35 +00:00
kert added the ci label 2026-03-22 16:42:35 +00:00
kert closed this issue 2026-03-22 16:50:18 +00:00
Sign in to join this conversation.