# KodeKloud: Beta Courses Migrating Jenkins Pipelines to GitHub Actions

## Migrating Jenkins Pipelines to GitHub Actions

### Migration Overview

- [Course Introduction](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Migration-Overview/Course-Introduction/page.md): Plan to migrate Jenkins CI/CD pipelines to GitHub Actions for a Node.js app, preserving Docker, Kubernetes, and AWS Lambda workflows while improving automation and Git-centric processes.
- [Basics of CICD](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Migration-Overview/Basics-of-CICD/page.md): Explains Continuous Integration and Continuous Deployment workflows, branching, pipelines, best practices, and CD options to automate building, testing, and deploying code.
- [Why Migrate from Jenkins to GitHub Actions](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Migration-Overview/Why-Migrate-from-Jenkins-to-GitHub-Actions/page.md): Migrating CI/CD from Jenkins to GitHub Actions to simplify workflows, leverage native GitHub integration, YAML workflows, hosted runners, marketplace actions, and reduce maintenance
- [Key differences between Jenkins and GitHub Actions](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Migration-Overview/Key-differences-between-Jenkins-and-GitHub-Actions/page.md): Comparison of Jenkins and GitHub Actions covering architecture, pipeline formats, triggers, integrations, and security to help teams choose or migrate
- [Challenges in Migration](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Migration-Overview/Challenges-in-Migration/page.md): Guide summarizing challenges and practical patterns for migrating Jenkins Groovy pipelines, plugins, secrets, and long running jobs to GitHub Actions YAML workflows

### Analyze Your Existing Jenkins Pipelines

- [Jenkins Core Concepts](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Jenkins-Core-Concepts/page.md): Overview of Jenkins core concepts, pipeline workflow, components, pros and cons, and best practices for CI/CD pipeline automation and managing Jenkins infrastructure.
- [Types of Jenkins Projects](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Types-of-Jenkins-Projects/page.md): Overview of Jenkins project types and guidance on when to use Freestyle, Pipeline, Multibranch, Maven, Matrix, and Organization Folders, with migration recommendations
- [Demo Review Existing Jenkins Instance](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Demo-Review-Existing-Jenkins-Instance/page.md): Reviewing and inventorying an existing Jenkins controller, jobs, agents, plugins, and credentials to plan migration to GitHub Actions or other CI platforms
- [Pipeline and Jenkinsfile](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Pipeline-and-Jenkinsfile/page.md): Guide to Jenkins Pipelines and Jenkinsfile, explaining stages, steps, Declarative versus Scripted styles, examples, benefits over Freestyle jobs, and migration best practices
- [Additional Jenkinsfile Configuration](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Additional-Jenkinsfile-Configuration/page.md): Guide to Declarative Jenkinsfiles explaining pipeline structure directives stages agents environment variables credentials post actions and examples for building testing and deploying applications
- [Declarative vs Scripted Pipelines](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Declarative-vs-Scripted-Pipelines/page.md): Comparison of Jenkins Declarative and Scripted pipelines, their trade-offs, usage recommendations, examples, and guidance on when to use each style
- [Environment Variables Secrets and Credentials in Jenkins](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Environment-Variables-Secrets-and-Credentials-in-Jenkins/page.md): Explains Jenkins environment variables, secure credentials management, and how to bind secrets into pipelines using withCredentials to avoid exposing sensitive data.
- [Demo Explore and Trigger Jenkins Projects 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Demo-Explore-and-Trigger-Jenkins-Projects-1/page.md): Walkthrough of two Jenkins jobs, a Freestyle ASCII artwork job and a scripted Pipeline, demonstrating job behavior and migration considerations to GitHub Actions
- [Demo Explore and Trigger Jenkins Projects 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Demo-Explore-and-Trigger-Jenkins-Projects-2/page.md): Explores Jenkins pipelines, running builds, dependency and image vulnerability scans, unit tests, coverage, Docker image build and push, and poll SCM trigger difference
- [Common Jenkins Plugins and their Usage](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Common-Jenkins-Plugins-and-their-Usage/page.md): Overview of common Jenkins plugins, their use in CI/CD workflows, installation and management practices, and lifecycle considerations for secure, maintainable automation environments.
- [Demo Test Reports and HTML Artifacts in Jenkins](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Analyze-Your-Existing-Jenkins-Pipelines/Demo-Test-Reports-and-HTML-Artifacts-in-Jenkins/page.md): Demonstrates enabling JUnit test results and publishing HTML coverage and security reports from a Jenkins pipeline, including Trivy and OWASP Dependency Check integration.

### Fundamentals of GitHub Actions

- [What is GitHub Actions](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/What-is-GitHub-Actions/page.md): Overview of GitHub Actions native CI/CD and repository automation integrated with GitHub, workflows in YAML, jobs and runners GitHub-hosted or self-hosted
- [GitHub Actions Core Components](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/GitHub-Actions-Core-Components/page.md): Overview of GitHub Actions core components including workflows, jobs, steps, and reusable actions with examples and a quick reference for designing CI/CD automation
- [Workflow Triggers](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/Workflow-Triggers/page.md): Guide to configuring GitHub Actions workflow triggers with examples and tips
- [What are Actions](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/What-are-Actions/page.md): Explains GitHub Actions as reusable workflow automation, how to reference and pin actions, types, security considerations, and best practices for safe, reproducible CI usage.
- [Demo GitHub Actions Workflow 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/Demo-GitHub-Actions-Workflow-1/page.md): Guide to creating a basic GitHub Actions workflow and troubleshooting the common error of missing actions/checkout that leaves the runner workspace empty.
- [Demo GitHub Actions Workflow 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/Demo-GitHub-Actions-Workflow-2/page.md): Explains GitHub Actions workflow features including manual triggers, uploading and downloading artifacts to share files between jobs, ordering jobs with needs, and skipping CI on push
- [Demo GitHub Actions Workflow 3](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Fundamentals-of-GitHub-Actions/Demo-GitHub-Actions-Workflow-3/page.md): Describes defining and using environment variables and secrets in GitHub Actions with examples creating and uploading an artifact while masking secrets in logs

### Manual Migration From Jenkins to GitHub Actions

- [Mapping Jenkins Directives to GitHub Actions Workflow](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Mapping-Jenkins-Directives-to-GitHub-Actions-Workflow/page.md): Guide mapping Jenkins Declarative Pipeline directives to equivalent GitHub Actions workflow constructs with examples and migration tips.
- [Demo Convert Jenkins Job to GitHub Actions Workflow](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-Jenkins-Job-to-GitHub-Actions-Workflow/page.md): Migrating a Jenkins freestyle job to a manually triggered GitHub Actions workflow that reproduces shell steps and installs required packages.
- [Demo Convert multi stage Jenkins Job to a GitHub Actions Workflow](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-multi-stage-Jenkins-Job-to-a-GitHub-Actions-Workflow/page.md): Convert a multi-stage Jenkins scripted pipeline into an equivalent GitHub Actions workflow using jobs and needs to preserve sequential staging and execution
- [Demo Convert Solar system pipeline to GA Workflow 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-Solar-system-pipeline-to-GA-Workflow-1/page.md): Guide to manually converting a Jenkins CI pipeline for the Solar System repo into a GitHub Actions workflow, including examples, mapping considerations, secrets handling, and test/runtime solutions
- [Demo Convert Solar system pipeline to GA Workflow 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-Solar-system-pipeline-to-GA-Workflow-2/page.md): Demonstrates migrating Jenkins pipeline to GitHub Actions by using repository secrets and variables to supply MongoDB credentials so unit tests run successfully.
- [Demo Convert Solar system pipeline to GA Workflow 3](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-Solar-system-pipeline-to-GA-Workflow-3/page.md): Explains how to run Node unit tests in GitHub Actions and upload JUnit XML test results as artifacts
- [Demo Convert Solar system pipeline to GA Workflow 4](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Manual-Migration-From-Jenkins-to-GitHub-Actions/Demo-Convert-Solar-system-pipeline-to-GA-Workflow-4/page.md): Converts a single GitHub Actions or Jenkins job into a matrix workflow to run tests across multiple Node.js versions and operating systems.

### Automate Migration From Jenkins to GitHub Actions

- [Introduction to the GitHub Actions Importer](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Introduction-to-the-GitHub-Actions-Importer/page.md): Explains the GitHub Actions Importer, a Dockerized GitHub CLI tool that automates migrating CI/CD pipelines from various platforms while analyzing, converting, auditing, and forecasting runtime and costs.
- [Installation Configuration Steps](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Installation-Configuration-Steps/page.md): Guide to installing and configuring the GitHub Actions Importer gh extension to plan, test, and migrate Jenkins pipelines into GitHub Actions workflows.
- [Demo Installing the GitHub Actions Importer CLI Extension](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Installing-the-GitHub-Actions-Importer-CLI-Extension/page.md): Guide to install and authenticate the GitHub CLI extension 'gh-actions-importer', configure Jenkins credentials, and run audit, dry-run, forecast, and migrate commands to convert Jenkins pipelines to GitHub Actions.
- [Demo Configuring Credentials](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Configuring-Credentials/page.md): Explains how to create and securely store GitHub personal access and Jenkins API tokens and configure the GitHub Actions Importer to authenticate with both services.
- [Audit](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Audit/page.md): Guide to auditing Jenkins pipelines, converting them into GitHub Actions workflows, and producing reports, artifacts, and migration tasks to plan and execute workflow migrations.
- [Demo Perform an Audit of Jenkins](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Perform-an-Audit-of-Jenkins/page.md): Guide for auditing a Jenkins instance with the GitHub Actions Importer to discover pipelines, dry-run convert them to GitHub Actions, and generate per-job outputs and migration summaries.
- [Demo Review Audit Logs](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Review-Audit-Logs/page.md): Guide to interpreting GitHub Actions Importer audit logs from Jenkins audits, showing converted workflows, transformer results, generated artifacts, redactions, and conversion troubleshooting.
- [Demo Review Audit Output Files](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Review-Audit-Output-Files/page.md): Guide reviewing audit output files from migrating Jenkins jobs to GitHub Actions, showing generated artifacts, conversion logs, unsupported items, and migration best practices.
- [Demo Audit Jenkins 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Audit-Jenkins-2/page.md): Demo showing how to audit Jenkins, add a multibranch pipeline, add a secret binding, and regenerate GitHub Actions workflow snippets with redacted secrets
- [Forecast](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Forecast/page.md): Explains the forecast command that analyzes Jenkins historical runs to predict GitHub Actions runner minutes, peak concurrency, queue behavior, and costs to plan pipeline migration.
- [Demo Forecast Potential Build Runner Usage 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Forecast-Potential-Build-Runner-Usage-1/page.md): Guide for using gh actions-importer forecast to estimate GitHub Actions runner usage from Jenkins build history, requiring the Paginated Builds plugin and producing jobs JSON and a forecast report
- [Demo Forecast Potential Build Runner Usage 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Forecast-Potential-Build-Runner-Usage-2/page.md): Demonstrates running a folder-scoped Jenkins audit and forecast using gh actions-importer to analyze job execution, queueing, and concurrency for targeted capacity planning and migration
- [Dry run](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Dry-run/page.md): Explains how to perform a dry-run conversion of Jenkins pipelines to GitHub Actions workflows, generating workflows locally for review without modifying the repository.
- [Demo Perform Dry run Migration of a Jenkins Job](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Perform-Dry-run-Migration-of-a-Jenkins-Job/page.md): Demonstrates performing a dry-run conversion of a Jenkins job into a GitHub Actions workflow using the GitHub Actions Importer CLI, showing logs, output YAML, credentials, and key options
- [Demo Migration of a Jenkins Job 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Migration-of-a-Jenkins-Job-1/page.md): Guide to migrating a Jenkins job into a GitHub Actions workflow using the GitHub Actions Importer CLI to generate workflows, create branches, and open pull requests.
- [Demo Perform Dry run Migration of a Jenkins Job 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Perform-Dry-run-Migration-of-a-Jenkins-Job-2/page.md): Demonstrates dry-run migration of a Jenkins Pipeline to GitHub Actions using gh actions-importer, showing converted workflows, placeholders for unsupported steps, and guidance on custom transformers and full migration.
- [What are Custom Transformers](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/What-are-Custom-Transformers/page.md): Explains using custom transformers to convert nonstandard CI/CD pipeline constructs into GitHub Actions workflows, with Jenkins sleep example, Ruby transformer code, and dry run instructions.
- [Demo Custom Transformer sleep](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-sleep/page.md): Guide to build a Ruby custom transformer that converts Jenkins sleep steps into GitHub Actions sleep steps, extracting the time value and testing via gh actions-importer dry-run and migrate
- [Demo Custom Transformer environment variable](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-environment-variable/page.md): Explains using a custom Ruby transformer to map, convert to secrets, or remove Jenkins environment variables when migrating pipelines to GitHub Actions
- [Demo Custom Transformer Runner variables](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Runner-variables/page.md): How to use a custom transformer to map CI/CD runner labels and centralize environment variable mappings when migrating pipelines to GitHub Actions
- [Demo Custom Transformer OWASP Dependency Check 1](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-OWASP-Dependency-Check-1/page.md): Migrating a Jenkins OWASP Dependency-Check step into a GitHub Actions workflow, inspecting Jenkins JSON with helper transformers and mapping CLI flags and publisher logic to Actions
- [Migration](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Migration/page.md): Guide to converting Jenkins pipelines into GitHub Actions workflows using the gh actions-importer migrate jenkins command, creating and reviewing a pull request and merging the generated workflow.
- [Demo Custom Transformer OWASP Dependency Check 2](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-OWASP-Dependency-Check-2/page.md): Shows building a custom transformer that converts Jenkins OWASP Dependency Check stages into GitHub Actions steps, parsing additionalArguments to set format and failOnCVSS and upload reports
- [Demo Custom Transformer Unit Testing Retry](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Unit-Testing-Retry/page.md): Guide to adding a custom transformer that preserves Jenkins retry behavior when migrating unit test stages to GitHub Actions, ensuring dependencies are installed and tests retried.
- [Demo Custom Transformer Code Coverage catchError](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Code-Coverage-catchError/page.md): Demonstrates a custom transformer that converts Jenkins catchError wrapping a code coverage step into GitHub Actions steps preserving continue on error behavior and HTML artifact upload
- [Demo Custom Transformer Docker Build](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Docker-Build/page.md): Describes a custom transformer that converts Jenkins sh docker build commands into GitHub Actions steps, replacing hard-coded values with repository variables and outlining registry authentication handling.
- [Demo Custom Transformer Docker Push withDockerRegistry](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Docker-Push-withDockerRegistry/page.md): Shows how to transform Jenkins withDockerRegistry and docker push into GitHub Actions steps using docker/login-action and docker/build-push-action with variable substitution.
- [Demo Custom Transformer Trivy Vulnerability Scanner](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Automate-Migration-From-Jenkins-to-GitHub-Actions/Demo-Custom-Transformer-Trivy-Vulnerability-Scanner/page.md): Migrating a Jenkins Trivy vulnerability scanner stage to an equivalent GitHub Actions job using aquasecurity/trivy-action and a Ruby transformer to preserve behavior and upload HTML reports

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/Migrating-Jenkins-Pipelines-to-GitHub-Actions/Introduction/Course-Introduction/page.md): Guide to migrating CI/CD pipelines from Jenkins to GitHub Actions with practical patterns, examples, secrets handling, tooling, and hands-on labs to modernize workflows
