fbpx

GitHub Actions: Continuous Everything

GitHub Actions: Continuous Everything
Reading Time: 5 minutes

The GitHub Actions Process

  • GitHub Actions is a workflow automation tool composed of a workflow file, which is a YAML file located in the .github/workflows/ folder at the root of your repository.
  • Each workflow file has a set of jobs to be run. These jobs are executed in parallel by default but can run sequentially if specified.
  • Every job runs on a different virtual machine; therefore, no data is shared between jobs unless configured to do so.
  • Per job, there’s a series of steps that define a specific task to be taken. These steps can be a script in bash, PowerShell, or Python or a specific action.

Action

An action is one of the key features of GitHub Actions. It is an open-sourced Docker container setup, JavaScript script, or set of bash scripts that automate a specific task. If the workflow executes a task that can be complicated or if you want this task to be shared on different workflows and/or repositories, any user can create an action and publish it to the GitHub Actions Marketplace.

Why should you consider GitHub Actions as an option?

Currently, many projects already have a CI/CD pipeline in place, and other tools can perform similar tasks. In case you wonder, here are two reasons why you should consider trying out GitHub Actions in your organization or in personal projects.

Community-Driven

There are many actions that have been created to perform different tasks, and all of these are available in the Marketplace. All actions are open source and free, and to use them, you only need to invoke the action on the desired job.

Cost

Explore

One of the best ways to understand the tool is to explore some of the ways companies are using it currently. Here’s a list of interesting applications of GitHub Actions:

  • Automatically upload legal software details (SBOM) to a newly created release. Upload Release Asset
  • Every morning at 8 a.m., check if there are new browser versions available and commit information about new versions automatically. Update Browser Version
  • When a git tag is created with a version number, create a release on GitHub: Create Release
  • Review if a PR has merge conflicts: Conflicting PR

Want to learn more?

Check out these links and courses for more information:

Conclusion

GitHub Actions are a relatively new and upcoming option for DevOps. There is active development and a big community using it, given that GitHub is commonly used for open-source development.