Skip to content

ShmuelMax100/github-workshop

Repository files navigation

GitHub Workshop

TL;DR — Dive into GitHub + Actions: PR lifecycle, branch protection, workflow YAML, secrets, environments, and debugging. Start with START-HERE.md, then work through the three modules in order.

**Duration:**3.5 hours  |  Format: Hands-on  |  Audience: Developers transitioning from GitLab & Jenkins


Before you start

START-HERE.md — clone the repo, install gh, run the sample app. Do this before the session.


Module 1 — GitHub Collaboration & CI Flow (60 min)

Topic Guide
GitLab → GitHub terminology mapping gitlab-github-mapping.md
PR lifecycle: create, review, approve, merge pr-lifecycle.md
Draft PRs & PR templates draft-prs-and-templates.md
GitHub CLI for daily workflows gh-cli-daily-workflows.md
Branch protection rules branch-protection-guide.md
Repository lifecycle: CODEOWNERS, merge controls, metadata repository-lifecycle.md
Quick UI flows: search, blame, compare quick-ui-flows.md
Hands-on exercise exercises/exercise.md
Solution solutions/01-pr-workflow/

Module 2 — GitHub Actions Deep Dive (80 min)

Topic Guide
GitLab CI & Jenkins → GitHub Actions comparison jenkins-github-actions-comparison.md
Core concepts: triggers, jobs, steps, runners core-concepts.md
Secrets, variables & environments secrets-variables-environments.md
Environments: approvals & protection rules environments-and-approvals.md
Job orchestration: needs, parallel, conditional execution job-orchestration.md
Passing data between steps and jobs passing-data.md
Reusable workflows & composite actions reusable-workflows.md
Performance & scale: caching & matrix builds caching-and-matrix.md
Security best practices & SHA pinning security-best-practices.md
GITHUB_TOKEN & least-privilege permissions 10-permissions.md
Runners: hosted vs self-hosted runners-guide.md
Manual triggers (workflow_dispatch) manual-triggers.md
Hands-on exercise exercises/exercise.md
Solution solutions/02-ci-workflow/
Bonus exercise: release pipeline (dispatch + reusable + matrix + composite + uses) exercises/exercise-3.md
Solution solutions/03-release-workflow/

Module 3 — Day-to-Day Operations & Debugging (30 min)

Topic Guide
Monitoring runs, logs & re-running jobs monitoring-and-reruns.md
Artifacts: upload, download, share artifacts.md
Debugging: step debug, annotations, summaries debugging-guide.md
Hands-on exercise exercises/exercise.md
Solution solutions/03-debugging/

Example Workflows

These are read-only teaching examples — they live under modules/ so they don't auto-run. The only workflow GitHub actually executes is ci.yml (the exercise solution running on this repo).

Workflow What it demonstrates
01-basic-ci.yml Full CI pipeline: lint → test (matrix) → build → deploy
02-matrix-build.yml Cross-OS, multi-Python matrix with exclude: and include:
02-matrix-build-advanced.yml Advanced matrix patterns: include-only and dynamic matrix from job output
03-reusable-workflow.yml Callable deploy workflow (the callee) — inputs, secrets, outputs
03-reusable-workflow-caller.yml How to call the reusable workflow above (build → deploy staging → prod)
04-manual-trigger.yml workflow_dispatch with typed inputs and validation

💡 To run any of these for real, copy it into your own repo's .github/workflows/ directory.


Reference

Quick reference card cheatsheet.md
Instructor timing & demo script INSTRUCTOR-GUIDE.md
GitHub Docs GitHub CLI Manual

About

Hands-on GitHub workshop. Covers PR lifecycle, branch protection, GitHub Actions (matrix, reusable workflows, composite actions, secrets), and debugging — with three guided exercises and full solutions.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors