GitHub Classroom: Creating Assignment Repositories with Forks Beta Update #127455
Replies: 38 comments 58 replies
-
Thank you for swift action to remedy the difficulties faced |
Beta Was this translation helpful? Give feedback.
-
My classroom, which is opted into the beta, is having an issue where workflow actions that are part of the template are not showing up in the student repos as runnable. If they edit the .github/workflows/___.yml file, even just adding a space, the workflow shows up in the list of runnable actions. |
Beta Was this translation helpful? Give feedback.
-
Question?? I checked visibility settings/commits all look good. but still facing that error |
Beta Was this translation helpful? Give feedback.
-
why is it that after forking the repository i cant stiil push is there i way the accees can be chnaged in that students can easily submit or commit their |
Beta Was this translation helpful? Give feedback.
-
Thank you! |
Beta Was this translation helpful? Give feedback.
-
This is all great...but given that we're back to template repositories to a certain degree, would it be at all possible to provide the ability to have starter code from another private organization? This was removed a number of years ago so now my workflow is this.... Maintain a gold copy of my assignment in a non-classroom organization Could it be possible to be able to use starter code from another private organization that I also own like before so that at least I only have one repository in the classroom repo instead of two? Thanks, |
Beta Was this translation helpful? Give feedback.
-
Hello dear community! Thanks, |
Beta Was this translation helpful? Give feedback.
-
In my opinion, this is a clumsy step in the wrong direction. I have a curriculum org, with assignments and solutions in private template repos; I then create an org for each cohort of students I teach. When I create a student assignment, I first create a new repo (from one of the templates in the curriculum org) in the student-cohort-specific org, make the new repo a template, and then use that as the starter repo for the assignment. I opted in to the new assignment system (with forked student repos) last month; as of one week ago, all of the above was still working fine. But yesterday when I did this, another repo was then unnecessarily created in the student cohort org (as described above in the update post), with a crazy long name (created from the concatenation of a slugified form of the descriptive name of the student cohort org, the name of the repository that I specified as the source, and the name of the assignment), and that unnecessary repo is used as the started repo for the student assignments. This is all as described above—and it's ridiculous. If this is the way this will work, why not go back to what we had a couple years back, where we could select a private template repo from another org as the assignment source? The classroom bot could then create a source repo in the student cohort org from that curriculum org template, and student forks could come from that source repo; at least that would eliminate the duplicated repos in the student cohort org. Is there utility in having student assignment repos be created automatically as forks of the source org? Of course. However, there are many cases where that is overkill, and creating a student repo from a template (but not as a fork) is entirely sufficient; in working around some of the obvious potential issues with making the student repos forks of the source org, this latest update seems to be a kludgy acknowledgment of this, while complicating the situation for all GitHub Classroom assignment creators. |
Beta Was this translation helpful? Give feedback.
-
Help! I have read the updated instructions. I have been using the new system since June 1. Everything worked for me a few days ago (after the change to the system making a COPY of my template to use as the starter code from which to fork). When I went to create a new assignment Friday, it failed with the message "Starter code repo could not be copied to your organization". That behavior continues today. As a temporary workaround, I reverted my classroom to the old system. (I then had to change all my starter repos previously created to be templates, for the sake of students who are behind.) But if this problem is not fixed before the final rollout, it will be a disaster for me. *** I STRONGLY RECOMMEND DELAYING the July 1 rollout until adequate testing of the system has been done. *** Edit June 29: The new system seems to be working for me now. As others have noted:
|
Beta Was this translation helpful? Give feedback.
-
Ryan, Making changes to assignment starter code states (my formatting): If you need to update the starter code for your assignment after students have already accepted it, you can do so by modifying the original repository. Since student assignments are based on forks of this repository, you can make changes to the starter code and then create pull requests for students to merge these updates into their assignments. The language confused me as I thought "original repository" meant the starter repository. However, what it seems to really mean is the Copy of the starter code repository. I do not see a link between the starter code repo and the Copy of it (with the longer name) where the forks come from. I was hoping to push a change to my starter code repo (in an other organization) and then use a pull request to the Fork of it in the Class Room organization so that would generate the ability for students to do a pull request. However that will not work with the student forks coming from the Copy of the starter repo. If I edit the Copy of the starter code repo, a student can see in their repo that they are behind by a commit. They can create their own pull requests which works fine (if there are no merge conflicts). Why would I need to create one? The challenge with editing the copy of the repository is that edits directly in the file on GItHub are not captured in my "baseline" starter repo files. I could make just make a few minor corrections in both places. If I make to many edits to a file that students might be editing, that will generate merge conflicts. What seems more practical is editing the starter repo and making wholesale changes at the file level. Is that the expectation? I can upload new files and student can then see those. They could make the pull request and get the new files. They would manually update any changes in their files based on the new files. Sorry for the long post as I was not part of the Beta so I probably missed the discussions about the work flow. |
Beta Was this translation helpful? Give feedback.
-
GH Classroom fails systematically when performing sync in the student forks: It creates some, very few, PRs. I have 150+ student forks and I have tried many times, it does the sync updates on < 10 repos every time I hit Sync. Anybody has faced this issue? 😭 |
Beta Was this translation helpful? Give feedback.
-
This change might cause me to switch from GitHub Classroom to another solution this semester.
I was very happy with the fork-based beta. It was the smoothest that GitHub Classroom has ever gone for me. This new model is now the most complicated and least feasible it's ever been. I don't know how I can keep using it. The only viable option is to release the full term project at the start of the semester and never push any updates to it, but that comes with academic integrity challenges, or use other stopgap measures like patches or direct edits on the copied repo through the webpage. Again, every option is bad for me. I am also unsatisfied with having to redo my entire workflow every semester because there's some new process to learn. This is a cognitive load I don't need when prepping my course materials, nor is it good for my students. |
Beta Was this translation helpful? Give feedback.
-
I'm in the process of adapting to the late changes since the beta earlier this summer. I've found that I can manually rename the copied starter repo without breaking anything, which is good (the default naming convention for starter repos really needs to be reworked). Now I've managed to make most critical workflows function as needed, with one urgent exception: the automatic pull request feature to update student forks does not consider non-default branches. This is a massive limitation for me. With the original forking behavior, this was not an issue. Now, it's impossible without manually creating a pull request for each student, for each branch, multiplicatively. @RyanHecht Short of scripting via CLI, is there a workaround? I'd appreciate the advice. |
Beta Was this translation helpful? Give feedback.
-
We have a critical regression for our setup; Commits in forks aren't accounted for in the students' contributions. For our students, we need to make sure that we can prove how much effort they put into the course. A lot of the commits come from the classroom assignments, and we have seen a significant drop in number of commits due to the use of forks. The work-around we have right now is to push a copy to a private repository, which is a messy solution. Is there a way to get back the student's contributions? |
Beta Was this translation helpful? Give feedback.
-
Hello everyone please help me to solve this issue i am getting when i am trying to solve the assembly assignment on github flow course but i am getting this error please help to solve this Github classroom autograding workflow |
Beta Was this translation helpful? Give feedback.
-
GitHub Classroom is failing for me today. I used it successfully all summer. Today, it creates the student's fork successfully, but then displays an Error 500 ("something went wrong") when it should display the URL of the student's fork. Is anyone else having troubles (or for that matter, NO troubles) with GitHub Classroom today? |
Beta Was this translation helpful? Give feedback.
-
@RyanHecht I use a public starter template that creates private repositories for each student, and when they push they get an incredibly confusing message that main is behind main. I get that this is because of the underlying technical implementation, but is there a way that this can just be hidden? |
Beta Was this translation helpful? Give feedback.
-
Unfortunately I also have to chime in with problems the new workflow causes for me. tl;dr:
First of all, I have been unable to change the starter code to come from a different repository after the fact. For example, during creation I'd choose
As long as I'm still editing the assignment and have not even passed out the link to it, this is strictly worse than just having "Update assignment" work. My understanding is that the relatively cumbersome process of copying the template repo is mainly done to hide history that may contain solutions from students. Personally, I am perfectly capable of ensuring that myself and would prefer the option of skipping that copying step. Creating a new repo means overhead in a few ways (e.g. deleting the assignment now requires deleting the repo separately, I may need to clone the new repo/add a remote to some repo I have, etc.) and this overhead scales with the number of assignments. I don't want that unless I benefit from it. I think the following would work well:
This provides the options people here want without removing the benefits for people that may have "messy" histories. Regarding the ability to update the starter code after students have started the assignment: I haven't used that yet, but I feel this is greatly diminished by the fact that the starter repo is not connected to the repo where I actually develop the assignment (some comments here seem to say that). What I described above won't fix the situation for people that use the "Make a copy" button, but at least it will work for those that don't use the button. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
All of a sudden my students are encountering a "Repository Access Issue", anyone else? |
Beta Was this translation helpful? Give feedback.
-
You can just add them with write permissions as a collaborator. That is
what the system gives them when it is working properly.
*From:* David Mutchler ***@***.***>
*Sent:* Wednesday, September 18, 2024 10:10 AM
*To:* community/community ***@***.***>
*Cc:* Matt Geiger ***@***.***>; Comment <
***@***.***>
*Subject:* Re: [community/community] GitHub Classroom: Creating Assignment
Repositories with Forks Beta Update (Discussion #127455)
I saw similar behavior yesterday. My workaround was to add the student
manually as an owner of their repository. The behavior does NOT appear to
be happening today, fwiw. So perhaps the problem has gone away on its own
(which has been the case for other problems recently as well).
—
Reply to this email directly, view it on GitHub
<#127455 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEBZEBFFAU4VCDF45PFLHCLZXGCU5AVCNFSM6AAAAABI3GRGAKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRYGIZTIOI>
.
You are receiving this because you commented.Message ID: <
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Ouch! I have quite a few too, but it only happened to two of mine this
time. It seems sporadic. When it happened a few weeks ago it was a few
more, but certainly not all of them.
*From:* Cole Nelson ***@***.***>
*Sent:* Wednesday, September 18, 2024 10:30 AM
*To:* community/community ***@***.***>
*Cc:* Matt Geiger ***@***.***>; Comment <
***@***.***>
*Subject:* Re: [community/community] GitHub Classroom: Creating Assignment
Repositories with Forks Beta Update (Discussion #127455)
I have 400 students (:
—
Reply to this email directly, view it on GitHub
<#127455 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEBZEBC2IEGDGKO3BE2SE4DZXGE7RAVCNFSM6AAAAABI3GRGAKVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTANRYGI3DGMY>
.
You are receiving this because you commented.Message ID: <
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@RyanHecht is there an update on when these changes are anticipated to be rolled out since it seems like the July 1 date was missed? I don't seem to be able to get into the Beta anymore, but want to use forking over templates. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone,
Thank you to all the teachers who opted in to the Public Beta for creating student repositories with forks! Your feedback has been invaluable as we decide on our path forwards.
In our feedback survey, you told us how useful being able to update student assignments is to your workflows.
However, you also told us your frustrations with setting up your assignments in light of some of the important changes we shared in our beta announcement, particularly:
We have planned changes to address these (and more) concerns brought to our attention during the Beta. You might see these changes as they're implemented if you're opted in to the Beta:
These changes will start rolling out to current Beta participants in the coming weeks. We anticipate generally rolling out these changes (and moving everybody to the new assignment repository creation strategy) on July 1, 2024.
Thanks again for all your feedback! I'm heading out of office tomorrow, but will be back on the 19th to answer any questions you all have!
Beta Was this translation helpful? Give feedback.
All reactions