A rebuild posts "not part of this build" success to the commit's failed `nix-build` gate and effects

Open Beginner friendly
#291 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Padraic-O-Mhuiris is already working on this.

Since Nov 12, 2026.

  • #294 by @Padraic-O-Mhuiris — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
ci-cd

Research direction

Start with _post_attribute_statuses in nixbot/nixbot/status.py at the linked lines and trace how FailedCommitStatuses supplies failed commit contexts. Reproduce the restart scenario described in the issue and inspect the status updates for nixbot/nix-build and nixbot/effect. Done means attribute rebuilds no longer mark those checks successful when they have no matching attribute.

Written by the indexing model from the issue text.

Description

At 171a8c7 (current main).

When a build reports its whole attribute set, _post_attribute_statuses posts success, "not part of this build", to every stored failure of the commit that none of its attributes cover
(status.py#L788-L799). Those come from FailedCommitStatuses, which returns every failed context of the commit,
so they include the failed nixbot/nix-build gate and failed effects, which have no attribute.

Steps:

  1. Push a commit with an attribute that fails, so nixbot/nix-build fails.
  2. Restart the build; it fails again.

Expected: nixbot/nix-build stays failed throughout.

Actual: nixbot/nix-build is posted success, "not part of this build", then failure again when the build's summary follows. In between, the required check is green. A failed effect on the
commit (nixbot/effect …) gets the same success and stays green until the effect runs again.

Dominant language
Python
Stars
118
Forks
22
Avg merge
1d 23h
Merged PRs (30d)
13

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Mic92/nixbot

All issues in Mic92/nixbot

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.