In this section, we learned about:
- Github Workflows and the YAML syntax they use:
- Establishing a workflow’s metadata via directives like
name,on,push,release,tags, etc. - Making one or more jobs for the workflow with the
jobsdirective - Establishing when your job runs, using the
runs-ondirective - What a matrix strategy is, and how to build one using the
strategyandmatrixdirectives - Establishing what steps your job takes, using the
stepsdirective - Using pre-written steps, written by you or others, via the
usesdirective - Running arbitrary shell code in a step using the
rundirective - Passing environment variables to a step using the
envkeyword - Running a step only when certain conditions are met, using the
ifdirective - Passing arguments to a step using the
withdirective
- Establishing a workflow’s metadata via directives like
- What the difference between the
bin/andlibexec/directories are for, according to the Filesystem Hierarchy Standard - Testing whether a shell option is turned on via the
[[ -o <optionanme> ]]syntax - How to test the type of a variable using parameter expansion, coupled with the
(t)parameter - How to generate completions for a command in
zsh, usingcompctl -K - How to generate completions for a command in Bash, using
complete -F - What a
bindirorbin_diris - How RBENV automatically re-generates its shims when a gem is installed or uninstalled, using the RubyGems hooks ecosystem.
- Why you might use a delimiter other than
/when usingsedto search-and-replace.