UBC-STAT / stat545.stat.ubc.ca

Repository that produces the STAT 545 @ UBC website
https://stat545.stat.ubc.ca
Creative Commons Attribution 4.0 International
41 stars 83 forks source link

set up delivery of milestone2 #55

Closed dy-lin closed 4 years ago

dy-lin commented 4 years ago

This is the task listed on Asana-- I'm guessing this means...

I don't see how to do the GitHub classroom in the instructor guide. Does anyone know how to do this?

vincenzocoia commented 4 years ago

You got it!

I don't see how to do the GitHub classroom in the instructor guide. Does anyone know how to do this?

Unfortunately not. I was hoping we would be able to make a pull request on everyone's repo, but I don't know how to do this. Maybe we can add a folder to the template repository and somehow initiate a PR through classroom.github.com? I guess the template repo wouldn't be appropriately named in that case...

Worst case scenario, we just put a link on the website.

dy-lin commented 4 years ago

I remember that Firas managed to add our pull requests to our repositories for STAT547, so I reached out to him about how he did this:

Unfortunately I don’t have good news for you. They are still working on adding functionalities to GitHub Classroom to automate this. At the time when I needed it, there were two options:

1) Ask students to add the template repo as an upstream master, and then pull changes. I thought this solution would not work for beginner git people.

2) Clone all the repos to your computer and write a script to update the relevant text, add it to the repo, commit and push. Best to do this at a time when you know students aren’t working on this (tricky during COVID times)

I need up choosing a third option, which was that I just went into each repo online and manually updated the file and sent a PR. This worked for when there were <30 students (it took about 15 mins to do). Then I asked you to accept the PR.

There are some additional ideas here: https://education.github.community/t/updating-assignments-after-creation/23840

Good luck!

Just reading through, option 2 looks like a nice option after the submission deadline for milestone1 (say, sometime tomorrow morning). I would consider pushing directly to the repository for most students, and then doing the pull request for those who have extensions? Either way, there are 36 repos-- it shouldn't take too long to drag and drop + create a pull request. Thoughts?

dy-lin commented 4 years ago

UPDATE: I downloaded the new GitHub CLI interface, and wrote a script to create the pull requests: https://github.com/UBC-STAT/stat545.stat.ubc.ca/blob/master/instructor-guides/make-pull-request.sh

I've tested it a few times on the template repo, seems to work fine. I'm not sure if the students get an alert about a pull request on their repos, so I'll create the requests tomorrow morning to avoid any confusion with milestone1.

If anyone else is interested, this is the command used: https://cli.github.com/manual/gh_pr_create

vincenzocoia commented 4 years ago

Wow. Incredible!