CI pipeline runs with failure logs and the commits that fixed them

Summary

Six years of CI history from one SaaS engineering team on a self-hosted CI server: 2.94M pipeline jobs as a table, full logs for the 312K jobs that failed, and the commit that turned each red pipeline green. Failures range from flaky tests and dependency breaks to container build cache misses and migrations that deadlock. Tokens, hostnames, internal URLs and author identities are scrubbed from logs and code.

Collected to order. We collect it from US companies for your order. Scope, volume and timing are confirmed in writing before you sign.

Pricing on request

Request scope and pricing

At a glance

  • Planned scope. Volume, sources and timing are confirmed in writing before you sign.
Records
2.9Mpipeline jobs
Size
12.1 GB
Tokens, estimated
2.9B
Years
2020 to 2026
Firms
1
Owner profile
US B2B SaaS company, 50 to 150 staff
Industry
Software
Data type
Code and engineering
Headcount
50 to 150 staff
Region
United States
Languages
English
Formats
Parquet, JSONL, Source tree
Updated

Sources

SystemKindRecords
GitLabCode96 repositories, 228K commits
GitLab CIDatabases2.94M jobs, 312K failure logs

Good for

  • training agents to read a failed CI log and name the root cause
  • evaluating automated fixes against the commit that actually turned the pipeline green
  • learning to tell flaky tests from real regressions
  • predicting pipeline duration and failure risk from a diff

Fields

FieldTypeDescription
job_idstringDe-identified job id
pipeline_idstringPipeline the job ran in
repostringRepository name
stageenumbuild, test, lint, migrate or deploy
statusenumsuccess, failed or canceled
started_attimestampJob start time
duration_sintRun time in seconds
failure_classenumflaky test, test regression, dependency, infrastructure, config or timeout
retry_countintRetries before the final status
log_tailstringLast lines of the scrubbed job log, full log in JSONL
fix_commitstringCommit that made the next pipeline pass

Example record

{
  "job_id": "J-2291847",
  "pipeline_id": "P-418806",
  "repo": "docs-api",
  "stage": "test",
  "status": "failed",
  "started_at": "2024-07-23T19:02:11Z",
  "duration_s": 614,
  "failure_class": "test regression",
  "retry_count": 1,
  "log_tail": "FAILED spec/models/revision_spec.rb:88 Revision#supersede! marks prior revision\n  expected: \"superseded\"\n       got: \"current\"\n  # ./app/models/revision.rb:41:in `supersede!'\n312 examples, 1 failure",
  "fix_commit": "c71a0e93"
}
One record, de-identified. Placeholders such as [PERSON_12] and [COMPANY_4] stay the same across the whole dataset, so threads still read correctly.

Licenses available

  • Non-exclusive

    Licensed to more than one buyer.

  • First look

    One buyer gets 2 to 4 weeks to make an offer before anyone else sees the dataset.

What ships with it

  • Datasheet: what it is, what it is good for, verified size, sources, years, format and limits.
  • Provenance file: the owner shown by code, staff notice and consent status, exclusions, mapped to the EU AI Act Article 53 training-data summary and California AB 2013.
  • Manifest with a hash for every file.
  • QC report and de-identification report.
  • Your own copy, with unique canary records.

How it is de-identified

Default exclusions removed, files flattened to text, identifiers found in three layers and replaced with consistent placeholders, and the result measured against a 99% bar for each identifier type in each source.

The full method

Request scope and pricing

We confirm scope, volume and timing in writing before you sign. Samples go out under evaluation terms after a short buyer check, once the first records are in.

Dataset: NK-14906

Organization type
What would you like?
Intended use
License interest

We use these details to reply to you and handle your request. See our Privacy Notice.