Code Quality Scan Workshop

April 4, 2026 · View on GitHub

GitHub Pages License: MIT

Hands-on workshop for code quality scanning with ESLint, Ruff, jscpd, Lizard, and coverage tools. Learn to integrate a 4-tool scanning architecture into your CI/CD pipelines and visualize results in GitHub Advanced Security, Azure DevOps Advanced Security, and Power BI.

Quick Start

  1. Click Code → Codespaces → New codespace on this repository.
  2. Wait for the dev container to build (~3 minutes).
  3. Open the terminal and start with Lab 00.

Option 2: Local Setup

  1. Clone this repository:

    git clone https://github.com/devopsabcs-engineering/code-quality-scan-workshop.git
    cd code-quality-scan-workshop
    
  2. Clone the companion demo-app repository as a sibling:

    git clone https://github.com/devopsabcs-engineering/code-quality-scan-demo-app.git
    
  3. Install prerequisites from Lab 00.

Labs

#LabDurationLevel
00Prerequisites30 minBeginner
01Explore Demo Apps30 minBeginner
02Linting45 minIntermediate
03Complexity Analysis30 minIntermediate
04Duplication Detection30 minIntermediate
05Coverage Analysis45 minIntermediate
06GitHub Actions CI/CD30 minIntermediate
06-ADOADO Pipelines CI/CD30 minIntermediate
07Remediation (GitHub)45 minAdvanced
07-ADORemediation (ADO)45 minAdvanced
08Power BI Dashboard45 minAdvanced

Scanning Architecture

The workshop teaches a 4-tool architecture for comprehensive code quality scanning:

ToolRoleOutput
Per-language linters (ESLint, Ruff, .NET Analyzers, Checkstyle, golangci-lint)Static analysisNative SARIF
jscpdCode duplication detectionNative SARIF
LizardCyclomatic complexity analysisCSV → SARIF via lizard-to-sarif.py
Coverage tools (Jest, pytest-cov, Coverlet, JaCoCo, go test)Test coverage measurementVarious → SARIF via coverage-to-sarif.py

All results are normalized to SARIF v2.1.0 and uploaded to GitHub Security tab or ADO Advanced Security for unified triage.

Companion Repository

This workshop uses the code-quality-scan-demo-app repository, which contains:

  • 5 demo applications (TypeScript, Python, C#, Java, Go) with intentional quality violations
  • SARIF converter scripts for Lizard and coverage tools
  • CI/CD pipelines for GitHub Actions and Azure DevOps
  • Power BI PBIP report for quality dashboards

Prerequisites Summary

  • Node.js 20+ · Python 3.12+ · .NET 8 SDK · Java 21+ · Go 1.22+
  • Docker Desktop (or Codespaces with Docker-in-Docker)
  • Visual Studio Code with ESLint, Python, C#, and Go extensions
  • GitHub CLI (gh) authenticated

Contributing

See CONTRIBUTING.md for guidelines on adding labs, screenshots, and fixes.

License

This project is licensed under the MIT License — see LICENSE for details.