Skip to content

fix(api): handle blank optional pipeline timestamps - #362

Merged
aliasfoxkde merged 1 commit into
mainfrom
fix/pipeline-run-empty-timestamp-20261102
Nov 3, 2026
Merged

aliasfoxkde merged 1 commit into
mainfrom
fix/pipeline-run-empty-timestamp-20261102

Conversation

@aliasfoxkde

Copy link
Copy Markdown
Owner

Problem

The nullable SQLite finished_at column can contain a legacy empty string. The optional timestamp decoder treated "" as a malformed RFC3339 value, so one legacy row caused the entire authorized GET /api/pipeline-runs listing to return HTTP 500. Malformed nonblank values still need to remain visible as database errors.

Changes

  • Treat NULL, empty, and whitespace-only optional timestamp values as absent.
  • Preserve errors for malformed nonblank timestamps.
  • Add route-level regressions for blank timestamps (200 with finished_at: null) and malformed nonblank timestamps (500 database_error).

Validation

  • Fedora, exact source diff based on 22fe4c16: cargo test --offline -p gitforge-api --test ci_routes pipeline_run_list -- --test-threads=1 — 2 passed, 0 failed.
  • cargo fmt --check --package gitforge-api --package gitforge-db — passed.
  • Git diff whitespace check — passed.

The source branch is fix/pipeline-run-empty-timestamp-20261102 at b1aff466. GitForge pipeline receipt and deployed service validation are pending; the production API has not yet been restarted.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7f4d6544-9b88-4b25-808f-6e92accd4872
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

🤖 AI Code Review Results

AI review skipped: provider 'anthropic' is not configured; deterministic gates remain authoritative.

✅ No critical issues found.

AI Code Review powered by GitForge

@aliasfoxkde
aliasfoxkde merged commit c8f2385 into main Nov 3, 2026
25 of 27 checks passed
@aliasfoxkde
aliasfoxkde deleted the fix/pipeline-run-empty-timestamp-20261102 branch November 3, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant