Skip to content

PR Builds tab added to project dashboard #5807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

saadmk11
Copy link
Member

@saadmk11 saadmk11 commented Jun 14, 2019

This is a continuation of #5779

This will add a tab for PR Builds in the project dashboard.

Screenshot from 2019-06-18 17-39-50

@saadmk11 saadmk11 added the PR: work in progress Pull request is not ready for full review label Jun 14, 2019
@saadmk11 saadmk11 changed the title PR Build tab added to project dashboard PR Builds tab added to project dashboard Jun 14, 2019
@saadmk11 saadmk11 removed the PR: work in progress Pull request is not ready for full review label Jun 15, 2019
@saadmk11 saadmk11 requested review from ericholscher and a team June 15, 2019 19:54
@humitos
Copy link
Member

humitos commented Jun 17, 2019

Isn't "Pull Request" a term fixed to GitHub itself? I think that GitLab uses "Merge Request" for example (https://docs.gitlab.com/ee/user/project/merge_requests/). Can we come up with a general and descriptive name for this?

@saadmk11
Copy link
Member Author

@humitos Github and Bitbucket uses Pull Request as the name. Do you have any cool name Idea for this ?

@ericholscher ericholscher changed the base branch from master to version-update June 17, 2019 16:53
@ericholscher ericholscher changed the base branch from version-update to master June 17, 2019 16:53
@ericholscher ericholscher changed the base branch from master to gsoc-19-pr-builder June 17, 2019 17:07
@ericholscher
Copy link
Member

I wonder if we should use External versions -- to keep it consistent with the code.

@@ -45,6 +45,8 @@ <h1>

<li class="{{ builds_active }}"><a href="{{ project.get_builds_url }}">{% trans "Builds" %}</a></li>

<li class="{{ pr_builds_active }}"><a href="{{ project.get_pr_builds_url }}">{% trans "PR Builds" %}</a></li>
Copy link
Member

@ericholscher ericholscher Jun 17, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should only show up if the user has any PR/external builds.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ericholscher Updated the PR

@saadmk11 saadmk11 force-pushed the gsoc-19-pr-builder branch 2 times, most recently from 05951cf to 5a05b6c Compare June 18, 2019 09:52
@saadmk11 saadmk11 requested review from ericholscher and a team June 18, 2019 18:17
@ericholscher ericholscher reopened this Jun 18, 2019
@ericholscher
Copy link
Member

This can now be updated against current gsoc-19-pr-builder branch.

@agjohnson
Copy link
Contributor

Long term, why can't this all be under the Builds tab? I'd like to reduce confusion on this page with the template rework project and we'll likely mostly be removing tabbed interfaces from this page.

@saadmk11
Copy link
Member Author

Long term, why can't this all be under the Builds tab? I'd like to reduce confusion on this page with the template rework project and we'll likely mostly be removing tabbed interfaces from this page.

Should this be done now or after the Template Project ? we can have sub sections under Builds in the new template

@agjohnson
Copy link
Contributor

I guess why do we need subsections or a separate page at all? Could the normal and PR builds be intermingled in a single view (eventually)? Having the two joined seems like it will be better UX for the user.

@saadmk11
Copy link
Member Author

If we do that then we don't need this PR at all. We can just update the BuildList view to show all version type builds like before.

@agjohnson
Copy link
Contributor

Well, i have been outside any planning for this feature, but from the outside, it seems like a lot of duplicated UI and code. It's not immediately apparent why having a separate section for PR builds is better than combining the two build types under a single listing. If we don't have a good answer to why these build types need to be separated in our UI, then I think combining them is the best answer. We can apply state and filtering based on the build type if we need to.

Is there a strong reason to split these up? Why are we moving away from the original implementation that used a single listing view?

@ericholscher
Copy link
Member

ericholscher commented Jun 21, 2019

The original thinking was because external builds will come from other users, and will be much more likely to fail. We don't want it to confuse users who see them in their normal build listings. I do think we could get away with a filter on the page, but having a separate top-level listing seemed to make the most sense for now.

I was also taking inspiration from Travis, which splits them out:

Screenshot 2019-06-21 06 47 35

I don't feel too strongly though, this just seemed easiest and least confusing for users to start.

@agjohnson
Copy link
Contributor

Gotcha. It's a little better when named "Pull Requests", as that communicates the page's purpose fairly well, but I'm still not sure separating is the best UX for us however. For comparison, CircleCI and GitLab have singular list of builds.

If we consider the perspective of the maintainer:

  • If I'm relying on pull requests to figure out the merge status of a PR with docs, I don't really care much about the status of the build in master branch anymore. We went through the process of figuring out build status in the pull request before merge to master. Therefore, polluting the build list might not be a concern
  • "Builds" vs "External builds" doesn't distinguish what's different between the types, and I'm a little lost on where to go both for normal builds and for pull request builds
  • I wouldn't normally go to a listing to see the pull request build status, I interact with GitHub for this and then follow a link through to our page our the build output. With PR metadata on the listing, the view is at least useful, but the primary point of interaction with these builds will still be through GitHub.

If our main concern is polluting the build list, we can add filtering later (probably defaulting to filtering PR builds out on the build list). By merging the two lists, we worry about optimizing later, and we can avoid complicating the implementation now, so we don't have to rip out redundant code and templates later.

If they truly need to be separate, "External builds" should be renamed. We have the repo type, so we can match "Pull requests" vs "Merge requests" etc on the tab based on what provider the project uses. The function of the page would at least be clearer to maintainers this way. I'd still be -0 on this path though, it seems like we're making more UI for us to maintain without a clear benefit.

@ericholscher
Copy link
Member

I think we've decided not to do this for now. We can come back to this PR if we need to in the future, but I'm closing it for now.

@saadmk11 saadmk11 deleted the pr-build-tab branch July 19, 2019 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needed: design decision A core team decision is required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants