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
During a recent half-day workshop in Nijmegen, we were very time-constrained and only had ~30 minutes left for the collaborative workflow exercise. Following the standard pairwise task which would most likely have meant that the participants did not actually get to experience a full iteration of the collaborative workflow.
We devised the exercise listed below instead, which basically substitutes an instructor/helper for the pairwise participant. This significantly speeds up the process at the cost of needing one instructor/helper to serve as repo maintainer. During the one workshop we did, the feedback of participants was that they enjoyed the exercise.
Suggestion
It should be possible to create a template repository that includes a GH action to create a pre-specified, fixed set of demo issues automatically. See next_steps.yml in the NLeSC Python template repository for an example action that automatically creates issues. This would mean the instructors only have to create the repo based on the template with no further setup needed on the GitHub/repository side for the distributed collaboration case.
Important
My suggestion would be to prepare the template repo and to include it as an alternative exercise, to be used by the instructors if they have run out of time to perform the full exercise instead.
Exercise Description
Instructor creates a public GitHub repo
Instructor creates an issue for each of the N participants, asking for contributing a new file, unique for each participant to avoid merge conflicts.
For example: an "animal facts" repository with 26 issues asking for a new file with some (arbitrary) facts about an animal (aardvark, bee, chihuahua, ... xerus, yak, zebra) in a new <animal>.txt file.
Participant forks the repo
Could also be added as collaborator for the centralized collaboration, but that required gathering all github usernames beforehand.
Participant is assigned an issue
E.g. by numbering each participant in the classroom manually, or by using their index number in the collaborative document roll call list
Participant creates a feature branch using the <Issue-number>-<description> format, e.g. 5-add-eel-facts
Participant writes/adds/commits the file, and pushes
Participant creates a PR, using GH’s specific syntax in the description to automatically close the relevant issue when merged.
Instructor review the PR in the role of maintainer
[optional] Instructor request (arbitrary) change
[optional] Participant performs requested update, pushes new code and pings maintainer for re-review.
Instructor approves PR and merges.
In the centralized case, you could consider letting the instructor only approve the PR, and let the participant merge the PR themselves.
Motivation
During a recent half-day workshop in Nijmegen, we were very time-constrained and only had ~30 minutes left for the collaborative workflow exercise. Following the standard pairwise task which would most likely have meant that the participants did not actually get to experience a full iteration of the collaborative workflow.
We devised the exercise listed below instead, which basically substitutes an instructor/helper for the pairwise participant. This significantly speeds up the process at the cost of needing one instructor/helper to serve as repo maintainer. During the one workshop we did, the feedback of participants was that they enjoyed the exercise.
Suggestion
It should be possible to create a template repository that includes a GH action to create a pre-specified, fixed set of demo issues automatically. See
next_steps.ymlin the NLeSC Python template repository for an example action that automatically creates issues. This would mean the instructors only have to create the repo based on the template with no further setup needed on the GitHub/repository side for the distributed collaboration case.Important
My suggestion would be to prepare the template repo and to include it as an alternative exercise, to be used by the instructors if they have run out of time to perform the full exercise instead.
Exercise Description
Instructor creates a public GitHub repo
Instructor creates an issue for each of the N participants, asking for contributing a new file, unique for each participant to avoid merge conflicts.
<animal>.txtfile.Participant forks the repo
Participant is assigned an issue
Participant creates a feature branch using the
<Issue-number>-<description>format, e.g.5-add-eel-factsParticipant writes/adds/commits the file, and pushes
Participant creates a PR, using GH’s specific syntax in the description to automatically close the relevant issue when merged.
Instructor review the PR in the role of maintainer
[optional] Instructor request (arbitrary) change
[optional] Participant performs requested update, pushes new code and pings maintainer for re-review.
Instructor approves PR and merges.