nix-community / buildbot-nix

A nixos module to make buildbot a proper Nix-CI [maintainer=@Mic92,@MagicRB]
MIT License
109 stars 23 forks source link

configure branches to build in addition to default branch #304

Open steveej opened 1 month ago

steveej commented 1 month ago

i'm working on repositories that have continuous delivery pipelines based on multiple branches. for this to work with buildbot-nix there needs to be an option that takes a list of branch names that buildbot will consider acting upon exactly in the same way it does for the default branch.

Mic92 commented 1 month ago

I think a list of regexes in the nixos configuration would be the best. Pull requests welcome.

Mic92 commented 1 month ago

After checking again, we actually shouldn't make it a list but a single regex. So just make this property configurable: https://github.com/nix-community/buildbot-nix/blob/d2dd93e4d12be7a05ef7640c7375c58739263d8d/buildbot_nix/__init__.py#L1257

You will need to extend this object: https://github.com/nix-community/buildbot-nix/blob/d2dd93e4d12be7a05ef7640c7375c58739263d8d/buildbot_nix/models.py#L175 and add a nixos option similar to other configuration.

Use (gh-readonly-queue/.*|staging|trying) as the default value

We have checks for "default_branch" in several places, you might need to grep and see if we need to allow also non-default branches that matches the regex or not.

MagicRB commented 1 month ago

Will tackle this now and tomorrow

MagicRB commented 1 month ago

I'm tackling this in a way where we split branches into 3 groups:

not sure if the primary/secondary split is needed, but not hard to do, we can rip it out later. (we'll have to rewrite this anyway, i really do not like that this is global for the whole instance. I think we should prioritize per repo configs finally )

MagicRB commented 1 month ago

@steveej #312 is a thing now, can you check the master.nix changes whether the semantics satisfy your needs?