Skip to content

Domain 4: Modern Development (13%) โ€‹

โ† Domain 3 ยท Domain 5 โ†’


GitHub Actions โ€‹

GitHub Actions is GitHub's built-in CI/CD and automation platform. It runs workflows in response to events.

Core Concepts โ€‹

TermDefinition
WorkflowA YAML file in .github/workflows/ that defines automation
EventA trigger (push, pull_request, schedule, etc.)
JobA set of steps that run on a runner
StepAn individual command or action within a job
ActionA reusable unit of automation (from Marketplace or custom)
RunnerThe server that executes jobs (GitHub-hosted or self-hosted)

Workflow Structure โ€‹

yaml
name: CI Pipeline

on:
  push:
    branches: [main]
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run tests
        run: npm test

Common Triggers (Events) โ€‹

EventFires when
pushCode is pushed to a branch
pull_requestPR is opened, updated, or merged
scheduleCron-based scheduled time
workflow_dispatchManually triggered via UI or API
releaseA release is published
issuesAn issue is opened, edited, closed

GitHub-Hosted vs Self-Hosted Runners โ€‹

TypeDescriptionUse case
GitHub-hostedUbuntu, Windows, macOS VMs managed by GitHubGeneral purpose, free tier available
Self-hostedYour own machine/server registers as a runnerCustom hardware, private networks, compliance

Exam Tip

For GH-900, focus on what Actions IS and what it can DO โ€” not deep workflow YAML syntax. Key points: it's event-driven, YAML-based, lives in .github/workflows/, and uses the Actions Marketplace.


GitHub Codespaces โ€‹

Codespaces is a cloud-hosted development environment โ€” a full VM with VS Code running in the browser or connected to your local VS Code.

Key Features โ€‹

  • Pre-configured via devcontainer.json (in .devcontainer/ folder)
  • Runs on GitHub-managed cloud VMs
  • Has a full terminal, file system, and can run servers
  • Billed per compute-hour (free tier for personal accounts)
  • Codespace state persists between sessions (up to 30 days inactive)

devcontainer.json โ€‹

Defines the Codespace environment:

json
{
  "name": "Node.js Dev",
  "image": "mcr.microsoft.com/devcontainers/javascript-node:18",
  "postCreateCommand": "npm install",
  "extensions": ["dbaeumer.vscode-eslint"]
}

Codespace Lifecycle โ€‹

Create โ†’ Running โ†’ Stopped (idle) โ†’ Deleted
  • Idle timeout: default 30 minutes (configurable)
  • Max retention: 30 days after last use

github.dev Editor โ€‹

github.dev is a lightweight, browser-based code editor โ€” essentially VS Code in the browser, but with no compute.

How to open โ€‹

  • Press . (period) on any GitHub repo page
  • Change .com to .dev in the URL

Limitations vs Codespaces โ€‹

FeatureGitHub Codespacesgithub.dev
Primary UseFull development (running, building, and debugging code).Quick edits and browsing files.
EnvironmentA dedicated, customizable virtual machine (VM) and Docker container hosted in the cloud.Runs entirely in your browser's sandbox; no cloud compute is attached.
Terminal AccessYes, full integrated terminal access is available.No terminal access.
Code ExecutionYes, you can run and debug your application with the power of the cloud VM.No, you cannot build or run code within the environment itself.
CostBilled per hour of use and per GB of storage, with a free monthly quota for personal accounts.Entirely free for everyone on GitHub.com.
Setup TimeTakes a few moments to spin up the VM and configure the container based on a devcontainer.json file.Opens instantly with a single key press (press . on any GitHub repository page).
ExtensionsSupports most extensions available from the Visual Studio Code Marketplace.Only supports a subset of "web extensions" that can run in the browser.

Exam Trap

This is the most tested comparison in Domain 4. Remember: github.dev = editor only, no terminal. If a question mentions running tests, starting a server, or using a terminal โ†’ the answer is Codespaces.


GitHub Copilot โ€‹

GitHub Copilot is an AI pair programmer that provides code suggestions inline in your editor.

What Copilot Does โ€‹

  • Autocompletes code as you type
  • Suggests entire functions based on comments or context
  • Supports multiple languages (Python, JavaScript, TypeScript, Go, Ruby, etc.)
  • Available in VS Code, JetBrains IDEs, Neovim, and github.dev

Copilot Tiers (GH-900 level awareness) โ€‹

TierFor
Copilot IndividualPersonal accounts
Copilot BusinessOrganizations with policy controls
Copilot EnterpriseOrg-wide with custom org knowledge

Exam Tip

GH-900 tests basic awareness: Copilot is AI-powered, subscription-based, and works in the IDE as a code suggestion tool. Deep Copilot architecture questions are for GH-300.


GitHub Packages โ€‹

GitHub Packages is a package registry integrated with GitHub โ€” store and share packages alongside your code.

Supported package types:

  • npm (JavaScript)
  • Maven / Gradle (Java)
  • NuGet (.NET)
  • RubyGems (Ruby)
  • Docker / OCI container images

Packages are scoped to a user or organization and can be public or private. GitHub Actions can publish and consume packages automatically.


CI/CD Concepts โ€‹

TermMeaning
CI (Continuous Integration)Automatically build and test code on every push
CD (Continuous Delivery)Automatically prepare code for release after CI passes
CD (Continuous Deployment)Automatically deploy to production after CI passes

GitHub Actions is GitHub's native CI/CD solution. Key benefits:

  • No external CI server needed
  • Runs on every push/PR by default
  • Status checks can block PR merges until they pass

Status Checks

A required status check in branch protection rules means a PR cannot be merged until the check (e.g., a CI workflow) passes. This is how Actions integrates with code review workflows.


Domain 4: Modern Development

1 / 7
โ“

What is the difference between github.dev and Codespaces?

(Click to reveal)
๐Ÿ’ก
github.dev: browser editor, no terminal, no compute, free. Codespaces: full cloud VM, has terminal, can run code, compute-billed.

โ† Domain 3 ยท Domain 5 โ†’

Happy Studying! ๐Ÿš€ โ€ข Privacy-friendly analytics โ€” no cookies, no personal data
Privacy Policy โ€ข AI Disclaimer โ€ข Report an issue