🫶 GitHub Actions Resources for Container DevOps

DevOps

A list of my recommended GitHub Action resources for container DevOps. Includes workflow templates, finding new GHA features, troubleshooting, reference docs, recommended actions, and more.


Last updated July 2023

As part of my Automate Your Deployments on Kubernetes with GitHub Actions and Argo CD GitOps course, we spend a week learning GitHub Actions (GHA) for the typical software lifecycle of build, test, and deploy.

Beyond the slides and Zoom workshops in that course, here's an organized list of resources I provide for reference and further learning.

My Workflow Templates

Staying up to date on what's new with Actions

Troubleshooting Workflows and Runs

Run workflows locally with act.

SSH into GHA runners to debug with tmate.

I've never needed this, but if you need to interact with the runner shell to debug your job, this is by far the most popular Action to enable a SSH server on it.

Native SSH debugging is coming later in 2023 to GitHub Enterprise.

Tips when calling reusable workflows

Once you start using reusable workflows (which I always use for most things in a software project), some specific errors and issues may crop up.

    • If you don't see a workflow run in PR checks, check the Action tab for errors. If a workflow can't start, it may not show up in a PR or commit's checks list.
    • If you see a file path in the Actions tab error, check for typing errors in the path or access errors in reaching the called/reusable workflow.
    • Ensure reusable workflow has the workflow_call event, or it won't be callable.
    • Ensuring the calling job is pointing to the correct branch/tag/sha of the calling/reusable workflow.
    • If the reusable workflow is in a private repo, be sure calling it is allowed via that repos' Settings > Actions > General > Access and enable "Accessible from repositories in the organization"

GitHub Documentation

Private Runners

awesome-runners - "A curated list of awesome self-hosted GitHub Action runners in a large comparison matrix"