What this book covers
Chapter 1, GitHub Actions Workflows, will introduce you to GitHub Actions workflows and what you can do with them. You will learn about YAML basics, events that trigger workflows, and expressions, as well as how to use GitHub Actions from the marketplace to automate all kinds of tasks.
Chapter 2, Authoring and Debugging Workflows, will teach you best practices for authoring workflows: how to use Visual Studio Code and GitHub Codespaces and various add-ins to efficiently create, edit, and run workflows, check them for errors with powerful linters, develop them in branches, and run them locally. You will also learn how you can debug them and turn on advanced logging.
Chapter 3, Building GitHub Actions, explains the different types of GitHub actions, and you will learn how to use input and output. You will write your own Docker container action, a TypeScript action, and a composite action.
Chapter 4, The Workflow Runtime, is about the different runtime options for your workflows. You will learn how to use different GitHub-hosted runners and how to set up and scale ephemeral, self-hosted runners in Docker containers and Kubernetes with GitHub Actions Controller (GHAC).
Chapter 5, Automate Tasks in GitHub with GitHub Actions, will show you how to use Issue-Ops to automate common tasks within GitHub. You will learn how to authenticate with GitHub Apps, use GITHUB_TOKEN
and workflow permissions, use the GitHub CLI to automate tasks, use environments for approvals and checks, and use reusable workflows and composite actions to share logic across workflows and repositories.
Chapter 6, Build and Validate Your Code, is about CI. You will learn how to build and test different versions of your code with the same workflow, find security vulnerabilities in your code with CodeQL, attach a Software Bill of Materials (SBOM) to your release, automate the versioning of your software, and use caching to speed up your workflows.
Chapter 7, Release Your Software with GitHub Actions, covers continuous delivery and continuous deployment. You will learn how to securely deploy to the cloud using OpenID Connect (OIDC) and how to deploy containers to Kubernetes – whether it is Microsoft Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), or Elastic Container Services (ECS). You will also learn how to use Dependabot together with GitHub Actions to completely automate the update of your dependencies.