-
Notifications
You must be signed in to change notification settings - Fork 25
Introducing Gitomator #49
Description
Hi there,
My name is Joey Freund, I am a lecturer at the University of Toronto, and I have been using GitHub in our advanced Software Engineering course for almost two years now.
I wanted to introduce Gitomator, https://gitomator.github.io/
Important: Gitomator is in pre-alpha stage. That means that some features are not yet implemented, there aren't enough tests and the docs are constantly a work-in-progress. If that scares you, I totally understand, please check back in a coupe of weeks.
What is Gitomator?
Workflow automation tools for software educators.
Gitomator comes with command-line tools that let you conveniently use GitHub organizations in software engineering courses. For example: automate the process of creating repos and/or teams, managing team memberships and access-permissions, merging pull-requests, enabling/disabling CI, auto-marking and more.
Why did I build it?
In the course I was teaching, I wanted to implement a specific workflow:
- Individual assignments are distributed as private repos (one repo per student).
- Student get read-only permission to their repo, do their work in a fork, and submit their solution via pull-request.
- Students benefit from immediate feedback on their work, via Travis CI.
- Important feature: Easy to push code updates after an assignment was released to the students.
I hacked together a prototype to help me automate the workflow above (and a few additional workflow we ended using). My experience was great, and after using the prototype for two semesters, I decided it's time to build a less-prototypical, more generally-purpose version of the tool.
Why am I sharing it with you?
Because ...
- I want others to use it
- I want others to join the project - Gitomator is an open-source project, currently in pre-alpha stage, and I would really love to see a contributor-friendly community growing around it.
Feel free to ask questions, leave feedback, request features, suggest improvements, etc.