hackforla / website

Hack for LA's website
https://www.hackforla.org
GNU General Public License v2.0
323 stars 774 forks source link

Epic: Project migration from classic to beta #3265

Closed JessicaLucindaCheng closed 3 months ago

JessicaLucindaCheng commented 2 years ago

Dependency

Details

Overview

As a member of the Website Team, we need to prepare for the migration of our Project Board from "Projects (classic)" to "Projects (Beta)" so that if "Projects (classic)" is deprecated we are ready to use "Projects (Beta)" with our team. For this issue, we will figure out what needs to be done in order for us to migrate, add those as Action Items below, and complete those Action Items.

Action Items

Features related to automations and insights in the new project beta Those tracks of work are on hold until GA but someone from GitHub might reach out once teams at GitHub are ready to get that track of work started. Can follow up with Josie on timelines for this.
Information on a bug and how to resolve it If you’re seeing the “Migration complete” modal and you are unable to dismiss it, it is likely that you are not opted in to the feature preview for project migration. GitHub team recently put the entire feature behind a feature preview so if you are not in the feature preview, you will run into issues like this. Action: If you are using project migration and have not yet opted in to the feature preview, please do so before you continue accessing previously migrated projects.

Resources/Instructions

github-actions[bot] commented 2 years ago

Hi @JessicaLucindaCheng.

Good job adding the required labels for this issue. The merge team will review the issue and add a "Ready for Milestone" label once it is ready for prioritization.

Additional Resources:

JessicaLucindaCheng commented 2 years ago

The notes below are copied from https://github.com/hackforla/website/issues/3031#issuecomment-1156971748

Notes from June 15 meeting with Josie from GitHub

JessicaLucindaCheng commented 2 years ago

Notes below copied from https://github.com/hackforla/website/issues/3031#issuecomment-1153077541.

Notes on how to create the project at the org level, associate the project to the repo and then access the project at the repo level

Action Items

Figure out the answers to these questions

JessicaLucindaCheng commented 2 years ago

1) For future reference, I have taken a screenshot of the default "Who has access" and "Manage access" settings of the beta project board when we did the initial test migration:

Click here to see screenshot of the settings

2) After taking the above screenshot, I changed the following in the "Who has access" and "Manage access" settings, so that non-leadership people do not see the beta project board since we are not currently using it yet and it was confusing people seeing two project boards:

3) Read the info in the blue box about Migrating your project to Projects (beta): https://docs.github.com/en/issues/trying-out-the-new-projects-experience/migrating-your-project . Some highlights:

ExperimentsInHonesty commented 2 years ago

It seems like when we migrated, it brought the automation rules at the time. When we tested this by changing what happens to reopened PRs (no longer added to in progress, instead added to PR needs review) it did not update the automations listed here: https://github.com/orgs/hackforla/projects/15/workflows/1671601 Although it looks like not all of the automations got migrated, because reopening an issue not listed there.

JessicaLucindaCheng commented 2 years ago

Copying notes related to the board migration from the Dev/PM agenda on 2022-09-19 (https://github.com/hackforla/website/issues/2607#issuecomment-1246112979) to here:

JessicaLucindaCheng commented 2 years ago

From Slack on 2022-09-24, copying Bonnie's Slack post on why we should hold off on migrating to the beta project board to here:

The website team had a 2 hour meeting with GitHub and here is why we want everyone to hold off

  1. When you make the board it will have to have your project name, unlike the current boards, because they will all be in one place, so having multiple project boards be called "project board" or project management" will make it impossible to know which one is yours. a. Please add your project initials to your project board now. (e.g., Food oasis project board would be called FOLA: Project Management)
  2. Currently, they will be changing this hopefully soon, when you go to one of the new boards, you leave the menu for your project repo. So moving from board to issues to wiki tabs is impossible. You have to navigate back to your repo and the menu of how to do that has changed to a new placement that is not intuitive.
  3. Many projects have links in their wiki to the current boards. Each project will need to write up a migration plan for what links will need to be changed to make sure there are not out of date links on their project
  4. Many projects have cards on their project board. These will be automatically converted to draft issues and they don't work the same way as cards, so that information will need to be part of the projects migration plan. Probably these links will need to be moved to the wiki.

Additional post by Bonnie:

See also this wiki page with details https://github.com/hackforla/admin/wiki/GitHub:-Project-Boards

ExperimentsInHonesty commented 5 months ago

This issue needs to be re written or replaced

The following tests need to be performed by someone who has a classic project board on their forked copy of the repo

Does a github action that moves an issue from QA on close to the done column (designed for the old board to move an issue to another column) still work on the new board

Does the GitHub Action need to be changed for the new project board, or does it work there automatically. Does it still work on the old board.

Create a new issue and see which board it gets added to

Do we have to revise the GHA that adds it, so it goes to both?

https://github.com/hackforla/website/blob/gh-pages/.github/workflows/move-closed-issues.yaml https://github.com/hackforla/website/blob/gh-pages/github-actions/move-closed-issues/sort-closed-issues.js

t-will-gillis commented 5 months ago

Testing in my repo:

Does a github action that moves an issue from QA on close to the done column (designed for the old board to move an issue to another column) still work on the new board

Does the GitHub Action need to be changed for the new project board, or does it work there automatically. Does it still work on the old board.

https://github.com/hackforla/website/blob/gh-pages/.github/workflows/move-closed-issues.yaml https://github.com/hackforla/website/blob/gh-pages/github-actions/move-closed-issues/sort-closed-issues.js

t-will-gillis commented 5 months ago

@ExperimentsInHonesty

3 issues opened, and 3 corresponding PRs generated before Migration:

Opened a new issue with both boards active. The new issue only opened in "Project Board (classic)"

Re-closed the classic board and opened a new issue.

So far, the automations that involve moving issues to specific columns are the ones not working correctly and/or are failing. These include automations that use alex-page/github-project-automation-plus@v0.9.0 (three workflows):

t-will-gillis commented 5 months ago

@ExperimentsInHonesty

Updates: in the new Project Board / Project Board Beta's "Default workflows", there are options for adding new issues and new PRs to the Board- This makes much of the refactoring easier.

Created issues:

This note from the 'Sunset Notice' seems to imply that GitHub is retiring the REST APIs in November- which is reason for the second issue (6994). Even if this isn't the case, it might still be a good idea to start planning to convert to GraphQL anyway...

Screenshot 2024-06-12 091646
t-will-gillis commented 5 months ago

Affected workflows

Found so far

Issue
Workflow
Step Problem If It Isn't Fixed
#6996
issue-trigger.yml
"Add-Issue-To-Project-Board" OK if code removed and we use PBB "Default workflows" #6995 n/a
" " "Ask-For-Preliminary-Update" .js file references 'column' won't post the Prelim. Update comments (option: we could revert #6811 until fixed)
#6997
pull-request-trigger.yml
"Move-New-PRs-To-Project-Board" OK if code removed and we use PBB "Default workflows" #6995 n/a
" " "Gather-Merged-PRs" etc. alex-page action + 'column'
Note: closed PRs, Issues can be Auto-Archived in PBB #6995
Merged PRs, Closed/unmerged PRs won't be removed from Project Board
#6998
schedule-fri-0700.yml
"Add-Update-Label-Weekly"
add-label.js
The .js file refs 'column' Update labels eg. 2 weeks inactive,
To update! won't be added to issues
#7039
move-closed-issues.yaml
"move-closed-issue"
sort-closed-issues.js
alex-page action + 'column'
Note: closed issues sorted to "QA" in PBB #6995
All closed issues will sort to 'QA' status
ExperimentsInHonesty commented 4 months ago
ExperimentsInHonesty commented 4 months ago
t-will-gillis commented 4 months ago

Additional notes: We need to revise the wiki docs including:

ExperimentsInHonesty commented 4 months ago

Bonnie to review all open comments and see if this issue can be closed.