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

🪣 Better DX Automation (GHA) #4258

Closed
2 of 7 tasks
CowMuon opened this issue Jun 15, 2023 · 12 comments · Fixed by #4430
Closed
2 of 7 tasks

🪣 Better DX Automation (GHA) #4258

CowMuon opened this issue Jun 15, 2023 · 12 comments · Fixed by #4430
Assignees
Labels
5 Few days task 8 1 sprint task blocked grab-n-go Quick tickets to grab and go with
Milestone

Comments

@CowMuon
Copy link
Contributor

CowMuon commented Jun 15, 2023

Description

We need @demoticbot to handle more of the housekeeping around our development process. As such, we have a punch list of actions needed. Please feel free to add additional suggestions in comments (anyone, not just assignee here.)

  • Tickets moving into status "in progress" must have point label (runs when any issue moved to in progress)
  • Moving to Boom automatically closes issue (was working?)
  • PR's must have linked issue, or are automatically converted to draft (runs when PR opened)
  • Stale issues closed after extremely generous period (cf. action gist)
  • Backlog tickets can only move to teed up (or no status) and not directly to in progress
  • Only ENG leads should be teeing up. (Process note: anyone can request a story be teed up)
  • Only Issues should be allowed to be added to the project board (Do not allow PRs)

Engineering Requirements

  • Github Actions (GHA) should be added one at a time, each in its own PR
  • All added actions needs to be thoroughly tested so there are no surprises

Acceptance Criteria

It does the thing. (Check off above as completed, until there are no more)

Additional Considerations

Any actions that either check issues to see if they have an associated PR, or conversely checks PRs to see if they have an associated issue, should be able to safely and consistently handle corner and edge cases, such as PR closing multiple issues, or an issue that was not broken down, and so requires multiple PRs to close.

@CowMuon CowMuon added this to Cycle 4 Jun 15, 2023
@CowMuon CowMuon added this to the Infra Arch milestone Jun 15, 2023
@CowMuon CowMuon moved this to Teed Up 🏌️ in Cycle 4 Jun 15, 2023
@CowMuon CowMuon changed the title Better DX Automation Better DX Automation (GHA) Jun 15, 2023
@kurtisassad kurtisassad added the 5 Few days task label Jun 15, 2023
@CowMuon CowMuon moved this from Teed Up 🏌️ to In Progress ⛹️‍♂️ in Cycle 4 Jun 20, 2023
@CowMuon CowMuon added the grab-n-go Quick tickets to grab and go with label Jun 20, 2023
@CowMuon
Copy link
Contributor Author

CowMuon commented Jun 20, 2023

Added #grab-n-go label since adding any of these individual actions should be a grab and go ticket for anyone who already knows how we are using actions in our cicd pipeline. And while anyone can grab any of these to add them, teeing this up for Ifu spcifically (Kurtis out this week)

@CowMuon CowMuon assigned Miaplacidus and unassigned kurtisassad Jun 20, 2023
@Miaplacidus Miaplacidus moved this from In Progress ⛹️‍♂️ to Teed Up 🏌️ in Cycle 4 Jun 27, 2023
@CowMuon
Copy link
Contributor Author

CowMuon commented Jul 5, 2023

Just to be clear @kurtisassad @Miaplacidus, these actions can (and should) be added individually (ie each can have its own PR) rather than having them all in one giant PR.

Having said that, any actions that can be added together for a single point can and should go into a single PR.

@CowMuon CowMuon changed the title Better DX Automation (GHA) 🪣 Better DX Automation (GHA) Jul 5, 2023
@kurtisassad
Copy link
Contributor

kurtisassad commented Jul 5, 2023

I think that we will need high level of permissions (Admin) In order to implement these. These will require limiting interactions, which can be found here:
https://docs.github.com/en/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository#limiting-interactions-in-your-repository

The issue is we need the settings button for the repo, but only repo admins are allowed to do this. As a result, for the time being I have marked this as blocked.

PS. if @Miaplacidus already has the required privileges, please take it out of blocked and continue working on it.

@kurtisassad
Copy link
Contributor

Taking out of blocked.

I will make a new repo, and go through the steps needed to be ran by the code owners. After I determine how to solve these bucket issues, I will make a list of these steps that a code owner can go through to finish off the ticket.

@kurtisassad kurtisassad added the 8 1 sprint task label Aug 17, 2023
@kurtisassad
Copy link
Contributor

Figured out why I cannot trigger CI run on moved cards. The project must be created from enterprise edition (Needs to be a project repository board):
(Docs saying it needs to be project repository board):
https://docs.github.com/en/github-ae@latest/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column#creating-the-workflow

(How to make project repository board):
https://docs.github.com/en/github-ae@latest/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board#creating-a-repository-project-board

@CowMuon
Copy link
Contributor Author

CowMuon commented Aug 17, 2023

Boo Github!

@kurtisassad
Copy link
Contributor

Anyways I made a free trial enterprise account, so we can probably still be able to do this as long as whoever creates the project has access to our organization.

@kurtisassad
Copy link
Contributor

We also need to use github classic projects. The problem is I cannot test it because I cannot create a classic project in a repo in order to test it.

https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#project_card

@jnaviask
Copy link
Collaborator

@kurtisassad have you looked into https://github.com/marketplace/actions/automate-projects or similar solutions?

@kurtisassad
Copy link
Contributor

kurtisassad commented Aug 22, 2023

I have looked into it. I have:

The problem is I think they also rely on classic projects. Its just that this action was last updated in 2021, and github project classic was deprecated in 2022. This is why they don't mention it doesn't work with regular projects.

@jnaviask
Copy link
Collaborator

cc @kurtisassad what is outstanding for this ticket? Would like to move it to C7 board but unsure of what blockers are / what is needed.

@kurtisassad
Copy link
Contributor

kurtisassad commented Oct 2, 2023

@jnaviask The blockers to the remaining unchecked buckets items are that they require us to use project card actions, which require us to use github projects classic. This is a problem for me, because I cannot test classic projects, as you can only create them if you own a repo that was created before github projects classic was deprecated.

I cannot test on our repo because the code needs to be in the master branch for it to trigger on project card actions.

So although it is technically still possible, I feel like this blocker is too large for me to overcome (I cannot be certain code that I write will work correctly the first time).

The checked off bucket items have open PRs that currently work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment