Something flipped today where my automated tests on a repo that I drop in the .github/workflows directory don’t run automatically any more. Lots of emails from students arrived wondering where their green checkmarks went. Turns out that suddenly today, they have to go to their repositories and manually click on a button to activate GitHub Actions. (Go the repo home page, click Actions, then click the big green button to enable them.)
This isn’t explicitly a GitHub Classroom issue, as I discovered someone just posted about this in the general GitHub forums regarding template repos. Since it impacted my class and took a lot of time to find, I thought I’d post it here in case it’s helpful. I also don’t know if this is a bug or a functionality change.
Did you find a fix?
I’m running into the same issue—I had a customized workflow file I used in the templates so I could use a newer version of Java. I already have actions enabled for all repositories in my organization.
Regarding a fix: again, if the students click on “Actions,” then click the green button to enable them, it fixes the problem for that repo. So I had to send an announcement out to all my students to do that.
Read elsewhere that all of a sudden GitHub disabled this for repos cloned from templates. I think it was a GitHub change that had unintended consequences for GitHub Classroom.
Very disappointing that such a significant change was introduced without any announcement.
I love GitHub and want to use it for my classes, but if it work slightly different each quarter, that is too much overhead for me.
I agree that it has been challenging to make GitHub Classroom and Actions work in my course this term. Here’s a quick summary of what people are reporting, much of which I’ve experienced myself:
It seems that I’ve spent a lot of my time this term in particular trying to chase these down, and supporting my students who are struggling with the workarounds.
Where is this green button? I’m not seeing it when I click on Actions in the repository. Thanks!
I don’t see this button either. This is what I see:
I think it depends on whether the repository you forked was a template or not. If it’s not a template, then actions are already enabled, and you don’t need to use this. I’ve been using template repositories because then the students don’t get the entire commit history before that.
I use template repository but it is still not auto-grading and I don’t see a way to turn the action on again.
I use template repositories because I thought that was the preferred technique.
@ohitsmekatie Yeah this is a huge pain for our school too.
We have an action to auto-deploy student repositories to Github pages so that we can do grading.
Now this is requiring us to manually turn on actions and trigger a commit on every single new student repository (hundreds a week) for it to work.
I agree with @pisanuw that there should have been an announcement about such a change. I can understand the technical/cost reasons why GitHub might have wanted to not automatically run potentially expensive actions every time a repository is created from a template, but this change is very disruptive for our students.
One more thing I’ve noticed is that students have to enable action before pushing commits. If they enable after the fact, it will not list the available actions (so they cannot manually trigger the actions) until they push another commit.
My solution is to re-save the auto-grading rules and all the student repo are graded. But it causes another problem that students may not commit their code and they have to re-fork the project from the template again.
The Actions team has deployed a fix for this issue so you shouldn’t be running into this anymore. If you do see anything unexpected please let Support know here.
I had this issue as well. After enabling actions manually via the GitHub web interface for each affected repository, I ran the following command, compliments of this SO answer (https://stackoverflow.com/questions/56435547/how-do-i-re-run-github-actions#answer-61550935)
git tag tmp-rerun && git push --tags && git tag -d tmp-rerun && git push origin :tmp-rerun
The benefit to using tags is that it does not affect the commit history so students will not need to
git pull to ingest the new commit. If an actual change to the starter code is needed, there’s no way around making everyone pull before they push.