# naufalf22/wsl-kernel-builder-using-github-action architecture

> Architecture diagram of the GitHub repository naufalf22/wsl-kernel-builder-using-github-action, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/naufalf22/wsl-kernel-builder-using-github-action
- Repository: https://github.com/naufalf22/wsl-kernel-builder-using-github-action

## Overview

This repository provides GitHub Actions workflows for building a WSL2 kernel from upstream linux-stable using Microsoft’s WSL kernel configuration, then publishing build artifacts. The README documents the build stages and optional Debian packaging. The tree also names architecture-specific and kernel-release-watcher workflows, but their implementation details are not available here, so their internal behavior and connections are not inferred.

Main entry points: [`.github/workflows`](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows) (Merge and build)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_build["Kernel build"]
  node_build_workflow["Merge and build<br/>[workflows]"]
  node_stable_source["linux-stable source"]
  node_ms_config["Microsoft WSL config"]
  node_config_prep["Config preparation<br/>[workflows]"]
  node_kernel_compile["Kernel compilation<br/>[workflows]"]
  node_deb_packages["Debian packages<br/>[workflows]"]
  node_artifacts[("Build artifacts")]
end

subgraph group_watch["Release watching"]
  node_release_watcher["Release watcher"]
  node_master_watcher["Master release watcher"]
end

subgraph group_targets["Build targets"]
  node_x86["x86 workflow<br/>[x86.yml]"]
  node_x86_master["x86 master workflow<br/>[x86_master.yml]"]
  node_arm64["arm64 workflow<br/>[arm64.yml]"]
  node_arm64_master["arm64 master workflow<br/>[arm64_master.yml]"]
end

node_user(("Workflow user"))
node_actions["GitHub Actions"]
node_kernel_user(("WSL kernel user"))

node_user -->|"runs workflow"| node_actions
node_actions -->|"runs"| node_build_workflow
node_build_workflow -->|"clones branch"| node_stable_source
node_build_workflow -->|"fetches config"| node_ms_config
node_build_workflow -->|"prepares config"| node_config_prep
node_build_workflow -->|"builds kernel"| node_kernel_compile
node_build_workflow -->|"optionally builds"| node_deb_packages
node_build_workflow -->|"uploads artifacts"| node_artifacts
node_kernel_user -->|"downloads artifacts"| node_artifacts

click node_build_workflow "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows"
click node_config_prep "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows"
click node_kernel_compile "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows"
click node_deb_packages "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows"
click node_x86 "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/x86.yml"
click node_x86_master "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/x86_master.yml"
click node_arm64 "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/arm64.yml"
click node_arm64_master "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/arm64_master.yml"
click node_release_watcher "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/Kernel%20Release%20Watcher.yml"
click node_master_watcher "https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/Kernel%20Release%20Watcher%20Master.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_build_workflow,node_stable_source,node_ms_config,node_config_prep,node_kernel_compile,node_deb_packages,node_artifacts,node_user,node_kernel_user toneBlue
class node_release_watcher,node_master_watcher toneAmber
class node_x86,node_x86_master,node_arm64,node_arm64_master toneMint
class node_actions toneIndigo
```

## Components

### Kernel build

- [Merge and build](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows): `.github/workflows`
- **linux-stable source**
- **Microsoft WSL config**
- [Config preparation](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows): `.github/workflows`
- [Kernel compilation](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows): `.github/workflows`
- [Debian packages](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/tree/main/.github/workflows): `.github/workflows`
- **Build artifacts**

### Release watching

- [Release watcher](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/Kernel%20Release%20Watcher.yml): `.github/workflows/Kernel Release Watcher.yml`
- [Master release watcher](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/Kernel%20Release%20Watcher%20Master.yml): `.github/workflows/Kernel Release Watcher Master.yml`

### Build targets

- [x86 workflow](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/x86.yml): `.github/workflows/x86.yml`
- [x86 master workflow](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/x86_master.yml): `.github/workflows/x86_master.yml`
- [arm64 workflow](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/arm64.yml): `.github/workflows/arm64.yml`
- [arm64 master workflow](https://github.com/naufalf22/wsl-kernel-builder-using-github-action/blob/main/.github/workflows/arm64_master.yml): `.github/workflows/arm64_master.yml`

### Other components

- **Workflow user**
- **GitHub Actions**
- **WSL kernel user**

## Connections

- Workflow user → GitHub Actions: runs workflow (evidence: `README.md`)
- GitHub Actions → Merge and build: runs (evidence: `README.md`)
- Merge and build → linux-stable source: clones branch (evidence: `README.md`)
- Merge and build → Microsoft WSL config: fetches config (evidence: `README.md`)
- Merge and build → Config preparation: prepares config (evidence: `README.md`)
- Merge and build → Kernel compilation: builds kernel (evidence: `README.md`)
- Merge and build → Debian packages: optionally builds (evidence: `README.md`)
- Merge and build → Build artifacts: uploads artifacts (evidence: `README.md`)
- WSL kernel user → Build artifacts: downloads artifacts (evidence: `README.md`)
