1 of 11

Code Coverage API Plugin

Jenkins project

Jeff Pearce

jeffpearce

1

GSoC Mentor Summit 2018

2 of 11

2

Build great things at any scale!

  • Open-source automation server
  • More than 1500 plugins
  • Continuous Integration / Delivery
  • 2nd year in GSoC, 3 projects

3 of 11

Our projects

  • Code Coverage API Plugin
  • Remoting over Apache Kafka
  • Pipeline as YAML

3

Shenyu Zheng

@cizezsy

Pham Vu Tuan

@pvtuan10

Abhishek Gautam

@gautamabhishek46

4 of 11

Code Coverage API plugin

  • Student: Shenyu Zheng @cizezsy
  • Henan University, China
  • Unifies features across coverage plugins…
    • Coverage charts and trends
    • Source code navigation
    • REST API
    • Report aggregation for parallel steps
    • Storage formats
  • Supports existing Jacoco, Cobertura
  • New plugin: llvm-cov e.g. for iOS

4

5 of 11

Early Success

  • First pull requests in Cobertura Code Coverage Plugin before GSOC
  • Public demo of POC plugin in 3 days of coding

5

6 of 11

Modern summary chart

6

7 of 11

File coverage with filtering

7

8 of 11

Source code browsing / painting

8

9 of 11

Combining coverage reports

9

node {� parallel firstBranch: {� publishCoverage adapters: [jacocoAdapter('target/site/jacoco/jacoco.xml')], tag: ‘t’�}, secondBranch: {� publishCoverage adapters: [jacocoAdapter('jacoco.xml')], tag: ‘t’� }�}

10 of 11

After GSOC

  • Continues to support the plugin
  • Contributes to the Chinese localization SIG
    • Website (cn.jenkins.io)
    • Jenkins itself
  • Blog about Jenkins development in Chinese
    • https://cizezsy.github.io/

10

11 of 11

More Info

11