You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Not everyone who has a fork is aware that the lesson transition will happen and it would prevent a lot of chaos if we made them aware of this (note: might be a bit too late for the lessons that are in the beta phase, but there's not much we can do about this now)
There are a few problems to this, however:
not all forks have issues, so we would need to open pull requests to alert the repository owners or use a different means
not everyone who has a fork will remember that they have a fork
some forks are used as a modified version of the lesson and transitioning would break the lesson history.
1 and 2 have good technical solutions (i.e. pull requests will notify the owners well enough and the owners in situation 2 might actually be happy for the reminder). Number 3 is more rare, but definitely a feature of the community.
Process
We can use the GitHub API with @carpentries-bot to deliver the messages. We will do the following:
for each repository in our official lessons, we run GET /repos/{carpentries_org}/{lesson}/pulls to extract all the pull requests
for each pull request, we check the values of has_issues or has_discussions and the decide the next steps from there
Forks with issues
use POST /repos/{carpentries_org}/{lesson}/issues to create an issue linking them to documentation.
Forks without issues
For forks without issues, we need to create a pull request, and to create a pull request, we need to create a fork, but the problem is, you can't have more than one fork at a time, thus, we will need to take a different approach.
I'm not sure if this would work, but it is worth a shot: Instead of creating a separate fork for each fork, create a repository owned by @carpentries-bot (called workbench-transition-helper) and then use the strategy for updating the styles repository:
add the fork as a unique remote in workbench-transition-helper
fetch the default branch into a new ref called ({owner}-{repo})
push that ref up to workbench-transition-helper
use POST /repos/{carpentries_org}/{lesson}/pulls with head = carpentries-bot:{owner}-{repo} to create the pull request.
If this is done with enough time ahead of time, then we can circumvent some chaos.
The text was updated successfully, but these errors were encountered:
When a lesson transitions, forks will no longer be in synch and must be deleted.
Not everyone who has a fork is aware that the lesson transition will happen and it would prevent a lot of chaos if we made them aware of this (note: might be a bit too late for the lessons that are in the beta phase, but there's not much we can do about this now)
There are a few problems to this, however:
1 and 2 have good technical solutions (i.e. pull requests will notify the owners well enough and the owners in situation 2 might actually be happy for the reminder). Number 3 is more rare, but definitely a feature of the community.
Process
We can use the GitHub API with @carpentries-bot to deliver the messages. We will do the following:
GET /repos/{carpentries_org}/{lesson}/pulls
to extract all the pull requestshas_issues
orhas_discussions
and the decide the next steps from thereForks with issues
POST /repos/{carpentries_org}/{lesson}/issues
to create an issue linking them to documentation.Forks without issues
For forks without issues, we need to create a pull request, and to create a pull request, we need to create a fork, but the problem is, you can't have more than one fork at a time, thus, we will need to take a different approach.
I'm not sure if this would work, but it is worth a shot: Instead of creating a separate fork for each fork, create a repository owned by @carpentries-bot (called
workbench-transition-helper
) and then use the strategy for updating the styles repository:workbench-transition-helper
{owner}-{repo}
)workbench-transition-helper
POST /repos/{carpentries_org}/{lesson}/pulls
withhead = carpentries-bot:{owner}-{repo}
to create the pull request.If this is done with enough time ahead of time, then we can circumvent some chaos.
The text was updated successfully, but these errors were encountered: