In my last article, I did an overview of GitHub Actions and demonstrated how to use an existing action to deploy a Gatsby site to GitHub Pages. In this post, I’d like to dive deeper into GitHub Actions exploring the underlying motivation behind them, the architecture, and the steps involved in building a custom action.
Before getting into the specifics of GitHub Actions, let’s understand the value they bring by first delving into GitHub events and how GitHub has been supporting the handling of these events.
GitHub provides hosting for software projects and version control using Git. It has formed the nucleus of the software development lifecycle by supporting collaboration across teams (often distributed), code reviews, and project management.
GitHub events play a big part in helping GitHub do what it does best while also providing extensibility points to integrate with the other tools used in the software development lifecycle. You might use GitHub for collaborating on the source code, JIRA for project management, and Confluence for documenting processes. GitHub events help you extend typical activities performed on GitHub and hook into the other tools that you already use.
“Each event corresponds to a certain set of actions that can happen to your organization and/or repository. For example, if you subscribe to the issues event you’ll receive detailed payloads every time an issue is opened, closed, labeled, etc.” —_ GitHub Documentation_
For example, when a pull request is merged on GitHub, you might want to update the status of the corresponding ticket in JIRA.
#programming #software-development #github-actions #javascript #deep-learning