Video Thumbnail for Lesson
2.2: System Set Up

Prepare your local environment

Working through the course is easier with a consistent toolchain. The repository for this module lives at sidpalas/devops-directive-github-actions-course.

  1. Fork the repo

    By forking the repo, you will be the owner of the fork, enabling you to run its workflows.

  2. Clone the fork of the repo (including submodules)

    # Modify this to point to your fork of the repo!
    git clone --recurse-submodules \
      https://github.com/<YOUR_GH_USERNAME>/devops-directive-github-actions-course.git
    cd devops-directive-github-actions-course
    
  3. Install Devbox

    Follow the official instructions for macOS, Linux, or WSL.

    Install instructions: https://www.jetify.com/docs/devbox/installing_devbox/

  4. Enter the reproducible shell.

    Devbox reads the devbox.json and devbox.lock files in the project root to install the exact tool versions used in the lessons.

    devbox shell
    

    Devbox will download anything missing and spawn a shell that isolates the course dependencies from the rest of your machine.

  5. Install Docker Desktop.

    It powers container-based exercises, including building custom actions and running workflows locally with the act CLI.

    Install Instructions: MacOS, Windows, or Linux.

  6. Use VS Code with helpful extensions.

    • GitHub Actions for syntax hints and workflow insights.
    • YAML for schema-aware editing and linting.

    If VS Code stops treating workflow files as YAML, add the following setting:

    "files.associations": {
      "**/.github/workflows/*.yml": "yaml",
      "**/.github/workflows/*.yaml": "yaml",
      "**/Taskfile.yml": "yaml"
    }
    

Windows tip: Run the course inside Windows Subsystem for Linux (WSL). The examples are tested on macOS, but WSL provides a Linux-compatible environment that works smoothly with Devbox and Docker.

With these tools in place you will be ready to explore why GitHub Actions has become the CI/CD platform of choice for so many teams.