Skip to content

Fix some skipped builds statuses never getting updated on Gitea - #549

Merged
Mic92 merged 2 commits into
nix-community:mainfrom
Enzime:claude/fix-gitea-build-status-5GQ0K
Jan 20, 2026
Merged

Mic92 merged 2 commits into
nix-community:mainfrom
Enzime:claude/fix-gitea-build-status-5GQ0K

Conversation

@Enzime

@Enzime Enzime commented Jan 15, 2026 •

Copy link
Copy Markdown
Member

To reproduce this issue on Gitea:

  1. Open your repo's Settings > Webhooks > Edit Buildbot's webhook > Recent Deliveries
  2. Force push a branch that already has a PR in Gitea
  3. After buildbot/nix-eval (Evaluate flakes) step finishes, immediately select the "action": "synchronized" event and click Replay this webhook.
  4. Observe that the overall buildbot/nix-build job is green after the CI is finished
  5. Observe that some buildbot/nix-build <flakeattr> checks will remain red and never get updated even if you click Rebuild on the overall buildbot/nix-build job

I've tested this on the Clan buildbot and it fixes the issue :)

@Enzime Enzime changed the title Fix skipped builds statuses never getting updated on Gitea Fix some skipped builds statuses never getting updated on Gitea Jan 15, 2026
@Enzime
Enzime force-pushed the claude/fix-gitea-build-status-5GQ0K branch 5 times, most recently from 3a6c345 to 12cb713 Compare January 15, 2026 17:53
When a build is cancelled via interrupt(), the cancellation is reported
to Gitea but was not recorded in the failed_status database. This meant
subsequent builds couldn't know which statuses needed updating.

Now when a build is cancelled, all its pending status names are recorded
in the failed_status database, allowing subsequent builds to properly
update those statuses.
When a job would normally be skipped (output already in local store),
check if its status was previously reported as failed/cancelled. If so,
force schedule the build instead of skipping it.

The build will succeed quickly since the output is already in the store,
and the normal completion flow will send the success status to Gitea.

This ensures that stale failed/cancelled statuses from previous builds
get properly updated without needing special case handling.
@Mic92
Mic92 force-pushed the claude/fix-gitea-build-status-5GQ0K branch from 12cb713 to 35a5f3a Compare January 20, 2026 16:40
@Mic92
Mic92 enabled auto-merge January 20, 2026 16:41
@Mic92
Mic92 added this pull request to the merge queue Jan 20, 2026
Merged via the queue into nix-community:main with commit eb4e904 Jan 20, 2026
3 checks passed
@Enzime
Enzime deleted the claude/fix-gitea-build-status-5GQ0K branch January 20, 2026 16:44
@nixos-discourse

Copy link
Copy Markdown

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/clan-core-changelog-26-01-2026/74813/1

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.

3 participants