Page MenuHomePhabricator

Use branches for Staging Area
Closed, InvalidPublic


I've added CircleCI to my project, as instructed in the guide. It's working well, except my GitHub releases page is cluttered with multiple tags for every commit. Moreover, external contributors watching our repo are being inundated with notifications about new releases being pushed; when in fact, we're just iterating of diffs.

In the Harbormaster User Guide, you call out this problem, and suggest using a separate repo for the staging area. Why is the Staging Area based on tags? Naively, it seems like branches would be better suited to this: they're easier to browse, not conflated with releases, and often used to stage in-progress work.

If branches are a sufficient alternative for Staging Areas, those would be preferred (to avoid Release clutter). If not, documentation of the problem in the Harbormaster Guide would dissuade people like me from opening issues like this. More importantly, if we know the limitations, we can help craft a solution.

Event Timeline

Please read Contributing Feature Requests and be sure to follow the guidelines there. Unfortunately we're not able to take feature requests that don't state a root problem.

I did read that: I thought I'd stated a root problem.

The GitHub Releases tab is flooded with Phabricator tags when a repo is used as a Staging Area. This makes it harder for users to find actual releases. Moreover, people watching our repository are having their GitHub feeds filled with notifications about use adding releases, which reduces the usefulness of those feeds.

I'll follow up with the user who reported the notifications inundation to see precisely where this was happening.

Maybe I missing something, but you mention reading the documentation but not heading its advice? If that's the case, I don't understand what this feature request is actually for.

If you just have question as to why Phabricator works a certain way, see Support Resources, specifically Ponder and Conpherence General Chat are better places to ask these questions.

I just tried using a different repo as a staging area (as suggested in the User Guide), and now my CircleCI builds are linked to the wrong repo (ci-staging-area instead of material-motion-js).

I'd really like to be able to use my actual repo as a Staging Area without adding non-releases to the GitHub Releases tab.

I think the problem you are describing has been already reported here. The users who reported it use a script to remove old tags. So you can do that.

It also sounds like the problem is caused - at least partly - by an external product: GitHub listing all tags as Releases. Have you tried solving this from that end?