CI jobs fail when Maven Central rate-limits dependency downloads

Open
#360 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
58/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
docker, github-actions, java

Research direction

Inspect the build, test, Javadoc, and integration workflow definitions first, using the linked failed workflow runs to compare their dependency-resolution behavior. Check the integration matrix and Docker build path for pyroscope.jar; done means the full matrix can run concurrently without recurring Maven Central 429 failures.

Written by the indexing model from the issue text.

Description

Problem

GitHub Actions jobs intermittently fail before compilation or test execution because Maven Central returns HTTP 429 responses while Gradle resolves build dependencies.

Recent failures affected the build, Javadoc, and integration-test workflows. The integration workflow expands into a large matrix, and every job builds pyroscope.jar independently inside Docker. This creates a burst of duplicate dependency downloads from the same runner infrastructure.

Example error:

Could not resolve all artifacts for configuration 'classpath'.
Could not GET https://repo.maven.apache.org/maven2/...
Received status code 429 from server: Too Many Requests

These failures are infrastructure-related and can make unrelated changes appear broken.

Expected behavior

CI dependency resolution should remain reliable when the complete build and integration matrices run concurrently.

Proposed mitigation

  • enable Gradle dependency caching in build, test, and Javadoc jobs
  • cache dependencies before upgrading the Gradle wrapper for newer Java versions
  • limit integration-test matrix concurrency

A longer-term improvement would be to build pyroscope.jar once and reuse it across integration jobs instead of running shadowJar independently in every Docker build.

Related

Dominant language
Java
Stars
125
Forks
48
Avg merge
1h 8m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from grafana/pyroscope-java

All issues in grafana/pyroscope-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.