Challenge 04 - Your First GitHub Actions Workflow

< Previous Challenge - Home - Next Challenge >

Introduction

Automation is a critical part of an effective DevOps process incorporating elements like CI/CD, but also processes like IssueOps. GitHub Actions provides a platform for GitHub to respond to various event triggers to execute workflows.

Workflows are broken down into jobs that contain the automation steps to complete these jobs. These steps could be a simple CLI command or a pre-defined piece of automation defined as a GitHub Action from GitHub’s extensive Marketplace.

Jobs can be run on Linux, Mac or Windows in the cloud on a hosted runner, or run on your own machines through a self-hosted runner. All the challenges today will use hosted runners, but your requirements after today may include the need for self-hosting or a mix of both.

Jobs can be run sequentially or in parallel. Sequential jobs provide the ability to define your workflow sequences, for example the need to build an application, then test it then deploy it. Whereas, parallel jobs allow the ability to scale-out sections of your workflow. For example build your application on x64 at the same time as ARM or, test you application on Chrome at the same time as Firefox.

Common workflows are defined for CI/CD type processes, but the flexibility of GitHub actions to respond to an extensive range of GitHub events enables many other possibilities such as the ability to execute a workflow based on a issue being created in your project.

Description

This challenge will see us using GitHub Actions to write your first workflow. This workflow will start with a single job triggered by manual event, being expanded on to have a second job and an additional event trigger.

Success Criteria

Learning Resources

Advanced Challenges (optional)

< Previous Challenge - Home - Next Challenge >