GitHub Actions
Casey Lee
Director of Engineering
What are GitHub Actions?
● Workflows are initiated by events
● Resolve a set of actions
● Actions run a container
● Can depend on other actions
● Can have env variables
and secrets
How is this different?
100% containers!
https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#using-a-dockerfile-image-in-an-action
More than just prebuilt images:
Curated actions:
sdras/actions
Docker repo URL
Local directory
GitHub slug
How do you develop actions?
Think globally, act locally!
nektos/act
DEMO TIME!
nektos/act
QUESTIONS?
cplee/github-actions-demo - Sample app to demo GitHub actions
nektos/act - Tool to run GitHub actions locally
actions - “Official” GitHub actions
sdras/actions - Community curated actions
The Life of a GitHub Action - Blog by Jessie Frazelle on GitHub Actions
Resources

Container based CI/CD on GitHub Actions

Editor's Notes

  • #9 Not “revolutionary”, but intrigued by simplicity No opportunity to write crappy script
  • #14 Quick dev of local actions
  • #16 No need for CI process for the GH actions to manage a docker image
  • #18 problem...commit/push for each change
  • #19 problem...commit/push for each change
  • #21 open https://github.com/cplee/github-actions-demo.git git clone https://github.com/cplee/github-actions-demo.git act -l # Update dependency (test -> lint) act -n act # discuss output (env variables and filesystem) # discuss how it works (series of containers managed by docker SDK, passing env and binding volumes)