GitHub Actions Deep Dive - No Fluff Just Stuff
ÜberConf is July 16-19 : Early-Bird Registration extended through May 17th - Save $250! Details »

Virtual Workshop

GitHub Actions Deep Dive

Friday, May 3

11:00 AM EDT / 8:00 AM PDT

Live Hands-On Full-Day Training

Brent Laster

Brent Laster

Do you want to register with virtual workshop credits? Login with email address used during registration to access your credits.

What You Will Learn

In this full-day workshop, open-source author, trainer, and DevOps director Brent Laster will provide an extensive introduction to GitHub Actions. You’ll learn about the core parts and pieces that make up an action, as well as the types of functionalities and features they provide.
You’ll also see how to combine them in simple workflows to accomplish basic tasks as well as more advanced workflows to automate typical CI/CD and other tasks. And you’ll learn about
how to create and use your own actions, create and manage artifacts, and how to debug and secure your GitHub Action workflows.

Virtual Workshop Format

  • Live Online Full-Day Training
  • Interactive Zoom Webinar
  • 11:00 AM EDT - 12:30 PM - Session 1
  • 12:30 PM - 12:45 PM - Break
  • 12:45 PM - 2:15 PM - Session 2
  • 2:15 PM - 2:45 PM - Meal Break
  • 2:45 PM - 4:15 PM - Session 3
  • 4:15 PM - 4:30 PM - Break
  • 4:30 PM - 6:00 PM - Session 4

Registration Options

Friday - May 3, 2024

11:00 AM - 6:00 PM Eastern
8:00 AM - 3:00 PM Pacific
This event has ended. Registration no longer available.

Course Outline

Section 1: A quick intro to GitHub Actions

Content: In this section, we’ll cover the basics of GitHub Actions – what the framework is, what actions are, and why would we use them? We’ll cover what “event-driven” means and what events, jobs, actions, steps, runners, and workflows are. And we’ll see how they all are related to
each other and work together. We’ll see how to create and store a GitHub action. Finally, we’ll look at how to create a simple action.

Lab 1: Creating a simple example – In this lab, we’ll get a quick start learning about GitHub Actions by creating a simple project that uses them. We'll also see what a first run of a workflow with actions looks like. this lab, attendees will create and use a basic GitHub Action

Section 2: Taking actions further

Content: In this section, we’ll look at how we can find and work with existing GitHub actions that might be of interest and how we can understand what they are and how they are intended to
be used. We’ll discuss how actions are shared and versioned. And we’ll see how to extend and enhance our workflows quickly and easily to use additional features from other actions. We’ll also
learn about persisting artifacts within workflows.

Lab 2: Learning more about Actions – In this lab, we'll see how to get more information about existing actions and how to update our workflow to use ones to provide functionality we need.
We'll also see how to add jobs and commit changes through the browser interface and how to persist artifacts.

Section 3: More about triggers and invoking workflows.

Content: In this section, we’ll learn about how to manually be able to run a workflow and pass In your own values. We’ll also see how to set values in the environment and apply them to items In our workflows.

Lab 3: Alternative ways to invoke workflows – In this lab, we’ll find out how to add a different kind of event trigger that allows us to invoke the workflow manually.

Section 4: Creating and leveraging inputs/outputs in a workflow.

Content: In this section, you’ll see how we can create inputs and outputs for parts of our workflow and pass information around to tie the parts of a workflow together.

Lab 4: Sharing output between jobs – In this lab, we’ll see how to capture output from one job and share it with another one.

Section 5: Adding additional functionality via scripts and tying it into your workflow.

Content: Here we’ll see how to take a script and invoke it from your workflow while leveraging values we pass in.

Lab 5: Adding in a test case – In this lab, we’ll add a simple test case to download the artifact and verify it

Section 6: Working with your own action

Content: For this section, we’ll look at how to create and then use your own custom action. How do you implement code? How do you expose your work as an action? What are the requirements you have to meet?

Lab 6: Adding your own action - in this lab, we'll see how to create and use a custom GitHub Action

Section 7: Monitoring and Troubleshooting

Content: In this section, we’ll look at how to do basic monitoring and
troubleshooting for runs of Actions and what we need to do to enable that in GitHub.

Lab 7: Exploring logs – in this lab, we’ll take a closer look at the different options for getting Information from logs.

Lab 8: Looking at debug info - in this lab, we'll look at some ways to get more debugging info from our workflows and dive deeper into what is happening in a workflow execution.

Section 8: Securing GitHub Actions

Content: In this section, we'll see discuss some basic best practices and approaches for securing GitHub Actions and how to prevent accidental or intentional security issues.

Lab 9: Securing inputs - in this lab, we'll see how to plug a potential security hole with some of our inputs

Section 9: Working with advanced workflows (if time allows)

Content: In this section, we'll look at various examples of advanced workflows including chaining workflows, using conditionals, and working with REST APIs to drive other events in
GitHub.

Lab 10: Chaining workflows, using conditionals, and working with REST APIs in workflows. (bonus/optional) - in this lab, we'll work with a way to drive one workflow from another

Setup Requirements

The requirements for this workshop are minimal, but you will need a browser and an account on GitHub.com. A free account is fine, but please make sure to have set that up and have logged in. A basic working knowledge of Git and GitHub is helpful, but not absolutely necessary as we'll guide you through the hands-on work, step-by-step.

Brent Laster

Brent Laster

Hi, I'm Brent Laster - a global trainer and book author, DevOps director at a top technology firm, and founder and president of Tech Skills Transformations LLC. I've been working with and presenting at NFJS events for ten years now and it is always exciting and interesting.

Through my decades in programming and management,I've always tried to make time to learn and develop both technical and leadership skills and share them with others Regardless of the topic or technology, my belief is that there is no substitute for the excitement and sense of potential that come from providing others with the knowledge they need to help them accomplish their goals.

In my spare time, I hang out with my wife Anne-Marie, 4 children and a small dog in Cary, North Carolina and design trainings and write books. You can find me on LinkedIn (linkedin.com/in/brentlaster), Twitter (@brentclaster) or through my company's website at www.getskillsnow.com.