nix-community / buildbot-nix

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

populate output-paths for pull-request builds #305

Open steveej opened 3 days ago

steveej commented 3 days ago

in understanding the possible ways to consume artifacts from buildbot-nix i noticed that the outputPaths gets populated only for builds for the default branch.

the use-cases i'm working with depend on pull-request outputs to be accessible publicly. first i was thinking of a postBuildStep for this, however the outputs might just work if they are made available for all builds.

Mic92 commented 3 days ago

I would accept the pull request. The original pr already added this feature but it didn't work for GitHub so I removed that part when merging: https://github.com/nix-community/buildbot-nix/pull/243

Since I currently don't have the use case just now, I probably don't implement myself for now.

Mic92 commented 3 days ago

You may need to extend the github api whitelist so that github also gets a pull request number: https://github.com/nix-community/buildbot-nix/blob/d2dd93e4d12be7a05ef7640c7375c58739263d8d/buildbot_nix/github_projects.py#L570

Than I would add a new abstract method to class GitBackend that returns the property name that stores the pull request number for both gitea and github. After that you can restore the code that was added in https://github.com/nix-community/buildbot-nix/pull/243 but use the property name method that you added to make it backend agnostic.

I can handle testing gitea, just add the code for it and but make it work with github.