
Explore how GitHub actions provide a ci cd platform to automate build, test, and deployment pipelines through workflows, jobs, steps, and actions, with runners ranging from ubuntu to self-hosted.
Explore the components of GitHub Actions, including workflows, jobs, runners, steps, and reusable actions. Learn how events and triggers—such as pull requests, merges, and external webhooks—drive CI/CD and deployments.
Learn how GitHub Actions run inside your repo by exploring a basic workflow under .github/workflows, including events, inputs, a single ubuntu latest job, and a hello name step.
Trigger a workflow manually from the actions tab using a workflow dispatch event, select a branch, provide input, and review the runner setup, job steps, and logs.
This lecture explains two step types in a GitHub workflow—shell command steps and action steps—and outlines key attributes like name, id, run, working directory, env, usage, and with parameters.
Learn how to pass inputs to a GitHub workflow from the UI using workflow_dispatch, define four input types (environment, choice, string, boolean), and configure their attributes for use in steps.
Learn how to set and use step outputs in GitHub actions, using run blocks or actions, access outputs via step IDs, and leverage artifacts and artifact URLs for workflow results.
Explore environments in GitHub Actions for CI/CD, learn to create environments, apply environment-specific variables and secrets, set deployment protection rules, and manage branch and tag rules in workflows.
Create and manage environments in your repo via the settings tab, then reference them in workflows at the job level using inputs or hard-coded values for manual or automatic triggers.
Create environment variables and secrets at the environment level for use in GitHub Actions workflows. Access them with the variable context and secrets context, with secrets masked in logs.
Define repository and organization level variables and secrets, shared across environments and projects, then reference them in workflows, using precedence: environment, then repository, then organization.
Explore deployment protection rules in GitHub Actions by configuring required reviewers, approval workflows, and wait timers for specific environments, ensuring controlled ci/cd deployments.
Explore configuring deployment branches and tags at environment level, using naming rules and protected branches to gate GitHub Actions deployments, with main allowed and feature branches blocked until approval.
Explore how GitHub Actions automate CI/CD with Java and Python projects, building and testing on each branch and pull request, then deploying merged changes to the Cuba environment.
Explore a practical CI workflow for a Java project using GitHub Actions, triggered by pull requests on the main branch, with checkout, setup Java, Maven build, and optional tests.
Create a pull request to trigger a Java CI pipeline, observe checkout, JDK setup, and build steps, and verify the build and tests produce a jar.
Trigger a minimal cd pipeline for a Java project on pushes to main, build a jar with Maven, and deploy the artifact to a cloud environment.
Learn to create and run a ci pipeline for a Python project with GitHub Actions, including trigger via pull requests, set up Python, install dependencies with pip, and build.
Create and run a CD pipeline with GitHub Actions by triggering on main branch pushes and merged PRs, building the package in dist, and uploading as an artifact.
Learn to apply dry principles in GitHub actions by creating composite actions and reusable workflows, enabling step-level and workflow-level reuse across single and cross-repo projects.
Create and reuse composite actions in the same repository or across repositories by organizing under dot GitHub actions, defining inputs, and using runs with the composite directive.
Learn how to create and use a composite action in GitHub workflows, which encapsulates two steps—setup the JDK and build the project—to enable reusable, dry deployment for multi-module Java projects.
Define and reuse a cross-repo composite action in GitHub Actions by hosting the action in its own repository, exposing inputs, and consuming it across multiple projects.
Learn how to create and use reusable workflows in GitHub Actions, with workflow_call triggers, inputs, and job-level reusability to avoid repeating deployment steps across modules.
Master reusable workflows to run checkout, build, and upload steps within a deployment, and compare them with composite actions to reduce code and maintenance.
Learn to use a composite action for build steps with a reusable workflow for deployment, using inputs like JDK versions and cross-repo usage to streamline multi-module pipelines.
Configure GitHub Actions permissions for a repository, covering access settings, allow or restrict actions and reusable workflows, and cross-repo usage within an organization.
Introduce authentication in GitHub actions by outlining the need for tokens, including the GitHub token and personal tokens, and show how to manage permissions and GitHub context.
Learn why authentication matters in GitHub Actions, explore the checkout step, and see how the GitHub token and GitHub context enable secure access to private repositories during ci/cd workflows.
Explore how the GitHub token authenticates workflows by configuring the GitHub context and secrets context, and learn that temporary credentials are generated for each job by the GitHub app.
Explore using the default GitHub token and personal tokens in workflows by configuring secrets and contexts with appropriate permissions for secure CI/CD.
Learn to enforce least privilege by updating GitHub token permissions at the workflow or job level with a permissions block for actions like creating issues.
Learn how custom actions fit into GitHub Actions by understanding events that trigger workflows, jobs and steps, and how scripts and actions—including building your own custom actions—work together.
Explore the three types of custom actions in GitHub actions—composite actions, Docker containers, and JavaScript actions—learn how to reuse code, build for cross-repo use, and publish to the GitHub marketplace.
Define composite actions to enable cross-repo reuse with a dedicated action.yml in a repo, including inputs and a readme, and enable public or private use via releases or base branches.
Compare docker container actions with JavaScript actions, noting docker actions run inside a Linux container for language flexibility, and outline creating them with action.yml, image, and docker file.
Master JavaScript actions for GitHub actions by defining an action metadata file, coding in source index.js, building to dist/index.js, and handling inputs, outputs, and API calls like Jira integration.
Learn to publish an action to the GitHub marketplace by making the repo public, ensuring a unique name, adding an action metadata file, and creating a release.
Learn how GitHub actions trigger workflows with events, such as workflow dispatch, pull requests, and pushes, and compare GitHub hosted versus self-hosted runners for CI CD pipelines.
Explore GitHub workflow templates and the actions marketplace to quickly scaffold workflows, browse templates by use case, and leverage ready-made steps for continuous integration, deployment, security, and language-specific projects.
Explore the GitHub actions marketplace to discover verified actions across categories like code quality, security, and testing, then evaluate versions, parameters, and usage in workflows.
GitHub Actions is fast-growing CI / CD platform due to its native integration within GitHub, enabling the automation of software development, testing and deployment workflows directly within a repository.
I have created this course to help you learn GitHub Actions Via example Workflows. The course intends to enable you to explore and start working with GitHub Actions.
In ChatGPT era, I believe we don't need a long course that promise to cover everything about a subject, we just need a short enough course which enables learner to start exploring and using the subject. This is how I have been learning about new subjects now a days and have created this course with minimal length following same practice.
Course Content:
The course is divided in to multiple independent sections and each section contains video lectures and resources at end of section. You can also go through individual section for quick reference or revision.
Video Lectures -> Covers concepts and examples for each section.
Resources -> Contains notes and examples for download, which were discussed in video lectures.
Playback Speed:
Recommended -> 1.25 or 1.5
I hope the course helps you achieve your objectives , and please share your inputs and feedbacks, when you go through the course.