Recently, I was given another opportunity to deliver a session at GitHub Africa Virtual Meetup. Where I talked on the topic:
"Leveraging Github Actions in Open Source Management"
It was a great learning experience for me and I will like to share a summary of the session with you in this article.
Github Africa Virtual meetup is a monthly event, that welcomes developers across Africa. During these meetups, GitHub folks and Open source enthusiast across Africa are invited to present on various educational topics. Each meetup is often packed with tons of exciting information about the latest GitHub workflows, newest features, and how to contribute to Open Source!
To get more updates on these sessions, you can subscribe to GitHub Virtual Meetup: Africa and get reminded on the upcoming meetups.
Leveraging Github Actions.
Open Source projects embrace principles of open exchange, collaborative participation, community-oriented development. Due to the diverse ideas, contributions and suggestions coming in from the various contributors to that project, it is crucial to ensure that the software codebase is carefully and continuously tracked and managed. Attempting to maintain these projects manually would become a huge milestone to take on for the project maintainers. Github provides GitHub Action along with other cool features (such as a code review tool and an issue tracker) which are perfect for managing your open source project.
Employing Github actions into your projects comes with numerous advantages which benefits the project, the maintainers and even the users. We are talking about being able to automate the project workflows in such a way that makes code reviews, branch management, issue tracking, code deployment and lots more events stress-free.
What is GitHub Actions
Simply put. It is an API responsible for cause and effect. GitHub Actions are a set of instructions that help you build, test, and deploy applications. They also serve as a great tool to Automate, customize, and execute your software development workflows right in your repository on GitHub.
How does GitHub Actions Achieve this?
When integrated into a project, these actions are initiated by any GitHub event such as a push to the project, pull from the project, creating an issue, a pull request, a comment, a new member on joining, clone, publish to a favourite cloud vendor, closing stale issues, and many more, including your own unique code review tool.
Problems with Manually Tracking Open Source Projects
- Waste developers time
- Ignoring new contributors
- Stale and unattended issue
- Slow Response to commented issues
- Project lacks consistency
- No standards for Contributing
- Reviewing and merging PR takes time
What makes Github Action Standout.
Built-in Github: GitHub Actions is fully integrated into GitHub and so does not require an external site, everything is in place which makes it convenient to use.
Great Free Plan: GitHub actions are completely free for Open Source projects and are accessible to everyone.
Multiple CI templates: GitHub provides several templates of the CI that are quite easy to get started with and you can easily include them in your code.
You are in charge: Unlike other CI/CD tools, you are solely in charge of the type of action that you desire. You can customise the workflow or find a template for it in the marketplace.
Where Does Github Actions Come in?
Importance of GitHub Action in Open Source Projects
The action your project needs exists already. It has probably been coded, tested and open-sourced as a Github Action script on GitHub MarketPlace.
You can use it for most hardware/OS environments, such as Ubuntu, Windows, and macOS.
You can use Continuous Deployment to Azure, AWS, Google, and other cloud platforms.
GitHub actions can do a whole lot more than just CI! You've got basically the whole API at your fingertips as inputs and outputs.
Everything under control that way you get updated on every event triggered on the project. Be it a PR, Comment, a created issue, a new member and so much more.
Actions Make code reviews, branch management, and issue tracking work in the way you want to maintain orderliness and consistency across the project.
You set standards for the projects that contributors will always take note of when contributing.
You can have more than a workflow for a project, that is to say, every event can have a different workflow responsible for it.
Finally, Shout Out to all Open Source project maintainers and managers, keep up with the good work👍🏽 👍🏽 👍🏽.