Skip to content
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

GHA: Sort closed issues to correct column #2206

Closed
19 of 20 tasks
Aveline-art opened this issue Aug 30, 2021 · 5 comments · Fixed by #2252
Closed
19 of 20 tasks

GHA: Sort closed issues to correct column #2206

Aveline-art opened this issue Aug 30, 2021 · 5 comments · Fixed by #2252
Assignees
Labels
Complexity: Large Feature: Board/GitHub Maintenance Project board maintenance that we have to do repeatedly role: back end/devOps Tasks for back-end developers size: missing To Update ! No update has been provided

Comments

@Aveline-art
Copy link
Member

Aveline-art commented Aug 30, 2021

Overview

As a developer, we have to ensure that our kanban board is organized for all teams so that productivity is high. For this issue, we are creating a sorter that will move closed issues and PRs to the correct column by their labels when they are closed.

Psudo-code

  • When an issue/PR is closed:
    • If the issue/PR contains a label from the hard label list:
      • Place the issue/PR in the column marked 'Done'.
    • Else if the issue/PR contains a label from the soft label list:
      • If the issue also contains a label from the soft label counter list:
        • Place the issue/PR in the column marked 'UAT'
      • Else:
        • Place the issue/PR in the column marked 'Done'.
    • Else:
      • Place the issue/PR in the column marked 'UAT'.
  • Hard label list: any labels involving refactoring
  • Soft label list: 'role: back end' label, 'Feature: Analytics'
  • Soft label counter-list: 'role: front end'

Checks

  • An issue containing only 'role: back end' and 'role: front end' labels closes -> UAT.
  • An issue containing only 'role: front end' closes -> UAT.
  • An issue containing only 'Feature: Refactor CSS', 'Feature: Refactor JS / Liquid', and 'P-Feature: Home page' -> Done.
  • An issue containing no label -> UAT
  • Make sure the labels are placed in the code in such a way that we can easily add, edit, or delete labels
  • The columns id should ideally be a secret, so that they are not exposed. When the id is found, please consult an admin to add it to our secrets. Columns id can be retrieved as a link, from the columns settings menu, for example . Please retrieve the id from there.
  • In the PR, request the reviewer to, after merging, test that the board automation does not intercept or supercede this GHA. If so, the team leads will need to remove the default automation to allow this one to work.

Note: The purpose of this issue is to sort closed issues into 2 categories. The "there are visual changes to the website"(C) and "no change"(NC) categories. Anything that is C needs to be in UAT, whereas anything that is NC belongs in Done. If any labels fit the NC category, feel free to tack it onto this issue, but be sure to justify it in your PR.

Resources/Instructions

Never done GitHub actions? Start here!

Note that you might want to do something outside the scope of the above psudo-code. If so, be sure to leave comments in your PR or this issue that justifies your reasoning. If you feel you need guidance, be sure to reach out! We cannot foresee whether this issue is solvable, or what hard decisions have to be made, but we would love to hear and help you!

Additional resources:

Events that trigger workflows
Workflow syntax for GitHub Actions
actions/github-script
GitHub RESTAPI
GitHub GraphQL
Encrypted secrets

@Aveline-art Aveline-art added role: back end/devOps Tasks for back-end developers Feature: Refactor JS / Liquid Page is working fine - JS / Liquid needs changes to become consistent with other pages Feature: Refactor CSS Page is working fine - CSS needs changes to become consistent with other pages P-Feature: Home page https://www.hackforla.org/ and removed role: back end/devOps Tasks for back-end developers Feature: Refactor JS / Liquid Page is working fine - JS / Liquid needs changes to become consistent with other pages Feature: Refactor CSS Page is working fine - CSS needs changes to become consistent with other pages P-Feature: Home page https://www.hackforla.org/ labels Aug 30, 2021
@github-actions github-actions bot added Feature: Refactor JS / Liquid Page is working fine - JS / Liquid needs changes to become consistent with other pages Feature: Refactor CSS Page is working fine - CSS needs changes to become consistent with other pages P-Feature: Home page https://www.hackforla.org/ role: back end/devOps Tasks for back-end developers size: missing labels Aug 30, 2021
@Aveline-art Aveline-art added Feature: Board/GitHub Maintenance Project board maintenance that we have to do repeatedly Complexity: Medium Ready for Prioritization and removed Feature: Refactor JS / Liquid Page is working fine - JS / Liquid needs changes to become consistent with other pages Feature: Refactor CSS Page is working fine - CSS needs changes to become consistent with other pages P-Feature: Home page https://www.hackforla.org/ size: missing labels Aug 30, 2021
@ExperimentsInHonesty ExperimentsInHonesty added this to the 08. Team workflow milestone Sep 5, 2021
@blakes24 blakes24 self-assigned this Sep 11, 2021
@Aveline-art
Copy link
Member Author

Aveline-art commented Sep 13, 2021

@ExperimentsInHonesty As per our discussion earlier today concerning automation on the UAT column, I want to make sure that we are creating automation that meets stakeholder demands, and would not conflict with the PM team's need. This current automation performs this task:

This automation

If a closed issue or pull request contains a label that indicates no changes to the website's appearance (for example, the "role:backend" or the "refactor:js" label), the issue goes straight to "Done" and "UAT" otherwise.

However, today you asked for a new automation that performs this task:

New proposed automation

If a closed issue's linked pull request contains github image links, send the issue to "UAT" and add the "visual changes" label. Otherwise, send the issue to "UAT" and add the "no visual changes" label.

These two automation when working together will create the following scenarios:

  • an issue has no image links, and is not refactor: js -> go to UAT with "no visual changes" label
  • an issue has image links and is not refactor: js-> go to UAT with "visual changes" label
  • an issue has no image links, and is refactor: js-> go to Done with "no visual changes" label
  • an issue has image links and is refactor: js-> go to ??? with "visual changes" label (realistically, would not happen)

Does this scenario follow what you have in mind? Please indicate which automation should proceed:

  • This automation
  • New proposed automation
  • Both
  • Neither, please specify
  • Other, please specify

Also, how should the GHA manage the possibility of human error, such as issues being mislabeled (a possibility, as labels are becoming increasingly complex), or images not being put in the PR when they should (developers usually do not insist on photos since pulling it locally is often easier)?


On an adjacent note: Between issue creation, to approval, to assignment, to review, it can take anywhere from 2 weeks to 2 month before a GHA is fully implemented, by which time it might become defunct. For example, with the wins-feature-1 branch merged, this GHA involving feature branches has become potentially irrelevant for the foreseeable future. With our plans for creating a Dev and UAT version of the website, will UAT automations become irrelevant as well?

Also, will the GHA still be valuable after the backlog in the UAT column has been cleared?

I apologize if this is a lot to think over. I want to set expectations because it sounds like the UAT backlog might be a temporary problem, in which case a GHA might arrive too late to help.

@Aveline-art
Copy link
Member Author

Aveline-art commented Sep 20, 2021

@blakes24 As per today's meeting, I have reworded the issue to better match PM intentions. Feel free to continue this issue and undraft your PR when it is ready for review. Thank you so much for working on this issue!

@github-actions github-actions bot added the To Update ! No update has been provided label Sep 24, 2021
@github-actions
Copy link

@blakes24

Please add update using the below template (even if you have a pull request). Afterwards, remove the 'To Update !' label and add the 'Status: Updated' label.

  1. Progress: "What is the current status of your project? What have you completed and what is left to do?"
  2. Blockers: "Difficulties or errors encountered."
  3. Availability: "How much time will you have this week to work on this issue?"
  4. ETA: "When do you expect this issue to be completed?"
  5. Pictures: "Add any pictures of the visual changes made to the site so far."

If you need help, be sure to either: 1) ask for help at your next meeting, 2) put a "Status: Help Wanted" label on your issue and pull request, or 3) put up a request for assistance on the #hfla-site channel.

You are receiving this comment because your last comment was before Tuesday, September 21, 2021 at 12:02 AM PST.

@blakes24
Copy link
Member

Progress: I have made the requested changes and updated my PR
Blockers: none
Availability: 5 hours
ETA: pending review
Pictures: NA

@ExperimentsInHonesty ExperimentsInHonesty changed the title GitHub Actions: Sort closed issues to correct column GHA: Sort closed issues to correct column Sep 26, 2021
@ExperimentsInHonesty
Copy link
Member

ExperimentsInHonesty commented Sep 26, 2021

@macho-catt when you review the code, if it seems like there are two many conditionals, ask @blakes24 to review this summary which Matthew, Adam and I came up with during our lead meeting today.

All issue/PR that contain the following go to UAT:
front end that are not hard label
back end issues that are soft label

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large Feature: Board/GitHub Maintenance Project board maintenance that we have to do repeatedly role: back end/devOps Tasks for back-end developers size: missing To Update ! No update has been provided
Projects
Development

Successfully merging a pull request may close this issue.

5 participants