CI jobs fail when Maven Central rate-limits dependency downloads
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
- Domain
- build-system, ci-cd, devops
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
- #359
- Failed main workflow run: https://github.com/grafana/pyroscope-java/actions/runs/32238963961
- Failed integration workflow run: https://github.com/grafana/pyroscope-java/actions/runs/32238964071
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from grafana/pyroscope-java
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
grafana/pyroscope-java#294 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
grafana/pyroscope-java#368 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
grafana/pyroscope-java#283 ·
-
grafana/pyroscope-java#250 · 1 comment · 1 assignee ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
grafana/pyroscope-java#237 · 2 comments ·
All issues in grafana/pyroscope-java
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100