This project contains GitHub Actions workflows for learning.
Lesson | Topic |
---|---|
Getting Started | Introduction to GitHub Actions |
YAML | |
Setting up GitHub account and project | |
Basic Building Blocks & Components | Workflows, Jobs, Steps |
Creating and running a workflow | |
Running Multi-Line Shell Commands | |
A New Workflow & The "push" Event | |
Using Actions In Workflows | |
Checking Out Code In Workflows | |
Configuring Actions | |
Adding More Workflow Job Steps | |
Failing Workflows & Analyzing Workflows | |
Adding Multiple Jobs | |
Jobs: In Parallel vs Sequential | |
Using Multiple Triggers (Events) | |
Expressions & Context Objects | |
Workflows & Events - Deep Dive | Events Can You Use |
Event Filters & Activity Types | |
Using Activity Types | |
Using Event Filters | |
Special Behavior: Forks & Pull Request Events | |
Cancelling Workflows & Skipping Workflows | |
Job Artifacts & Output | Understanding Job Artifacts |
Uploading Job Artifacts | |
Downloading Artifacts (Manually & Automatically) | |
Understanding Job Outputs | |
Using Job Outputs In Other Jobs | |
The Need For Dependency Caching | |
Caching Dependencies in Practice | |
Using & Invalidating Caches | |
Using Environment Variables & Secrets | Understanding Environment Variables |
Providing Environment Variable Values | |
Creating a Database & Using Database Environment Variable Values | |
Using Environment Variables in Code & Workflows | |
Default Environment Variables | |
Understanding & Using Secrets | |
Utilizing Repository Environments | |
Controlling Workflow & Job Execution | Understanding Conditional Steps & Jobs |
Understanding a (Potential) Problem: A Failing Step | |
Controlling Execution via "if" | |
Working with Special Conditional Functions | |
Conditional Jobs | |
Ignoring Errors & Failures with "continue-on-error" | |
Understanding & Using Matrix Strategies | |
Including & Excluding Values (Matrix Strategy) | |
Saving Time & Code with Reusable Workflows | |
Adding Inputs to Reusable Workflows | |
Reusable Workflows & Secrets | |
Reusable Workflows Outputs | |
Job & Docker Containers | What Are Containers? |
Run Jobs In Containers | |
Service Containers - Theory | |
Adding Services (via Service Containers) | |
Communication between Jobs & Service Containers | |
Building & Using Custom Actions | Custom Actions and Different Types of Custom Actions |
Creating Composite Actions | |
Using Custom Actions In Workflows | |
Adding Inputs to Custom Actions | |
Adding Outputs to Custom Actions | |
Custom JavaScript Actions | |
Configuring JavaScript Actions | |
Adding Basic JavaScript Logic | |
Creating a S3 Bucket (for a more advanced, custom Action) | |
Adding Action Inputs | |
Interacting with GitHub Actions Features | |
Custom JavaScript Action: Real Deployment to AWS S3 | |
JavaScript Actions & Outputs | |
Custom Docker Action | |
Creating a Custom Docker Action | |
Storing Actions In Repositories & Sharing Actions With Others | |
Security & Permissions | Key Security Concerns |
Understanding Script Injection Attacks | |
Increasing Actions Safety | |
Understanding Permissions & Potential Issues | |
GITHUB_TOKEN & Managing Permissions | |
More Security Settings | |
Working with Third-Party Permissions & OpenID Connect | |
AWS Permissions |