Over at nipy/nipype, we use rel/X.Y.Z branches to update version numbers and perform any last-minute testing (to catch such things as deprecations or other issues that might hide until the version number is bumped). One of the tests we run is to make sure that our conda packages build correctly (see conda-forge/nipype-feedstock#12), which evolves on release into a PR identical to the one your bot submits (conda-forge/nipype-feedstock#13).
Basically, in order to make your bot non-redundant for our purposes, it would be nice to watch for rel/* branches and create/update the PR as it progresses. I don't know how plausible that is, given your architecture, but I've been thinking of doing something similar in our own CI scripts, and it seems that if you're providing this service, it might make more sense to try to augment your effort than initiate our own.
To be really explicit about the logic:
On initial rel/* branch creation, create a *-feedstock PR that pins to the latest commit in the branch (example title: "nipype rel/1.0.2")
On each push update commit and sha256sum
On tag x.y.z, check for existing rel/x.y.z PR, update to pin to tag and final sha256sum
Some form of rate-limiting might be reasonable, such as requiring a string in the commit message (e.g. [release candidate]), or triggering only after completed CI.
Over at nipy/nipype, we use
rel/X.Y.Z
branches to update version numbers and perform any last-minute testing (to catch such things as deprecations or other issues that might hide until the version number is bumped). One of the tests we run is to make sure that our conda packages build correctly (see conda-forge/nipype-feedstock#12), which evolves on release into a PR identical to the one your bot submits (conda-forge/nipype-feedstock#13).Basically, in order to make your bot non-redundant for our purposes, it would be nice to watch for
rel/*
branches and create/update the PR as it progresses. I don't know how plausible that is, given your architecture, but I've been thinking of doing something similar in our own CI scripts, and it seems that if you're providing this service, it might make more sense to try to augment your effort than initiate our own.To be really explicit about the logic:
rel/*
branch creation, create a*-feedstock
PR that pins to the latest commit in the branch (example title: "nipype rel/1.0.2")x.y.z
, check for existingrel/x.y.z
PR, update to pin to tag and final sha256sumSome form of rate-limiting might be reasonable, such as requiring a string in the commit message (e.g.
[release candidate]
), or triggering only after completed CI.Does this seem like an idea worth pursuing?