ci: a transient Maven Central failure in lint-java is reported as a scalafix violation
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
Research direction
Start in .github/workflows/pr_build_linux.yml at the lint-java Run scalafix check step, then compare it with the adjacent scalafix-syntactic job's retry and offline-check handling. Verify the workflow distinguishes Maven Central download failures from real scalafix violations: transient failures should be retried, while genuine violations should still fail the check.
Written by the indexing model from the issue text.
Description
Describe the bug
A transient Maven Central failure in the Lint Java matrix is reported as a lint failure, which
is indistinguishable from a real scalafix violation until someone opens the log.
In pull request #6035 the Lint Java (Spark 3.5, JDK 17, Scala 2.12) job failed with:
[WARNING] Failed to retrieve plugin descriptor for io.github.evis:scalafix-maven-plugin_2.12:0.1.7_0.10.4:
Plugin io.github.evis:scalafix-maven-plugin_2.12:0.1.7_0.10.4 or one of its dependencies could not be resolved
[ERROR] No plugin found for prefix 'scalafix' in the current project and in the plugin groups ...
No source file was at fault. The job fails, Required Checks goes red, and the pull request is
blocked until it is pushed again.
Why it happens
lint-java's Run scalafix check step in .github/workflows/pr_build_linux.yml is a single
unguarded ./mvnw ... scalafix:scalafix invocation. The adjacent scalafix-syntactic job already
treats this class of failure as a first-class concern, and says so in its own comment: it retries
the artifact download and then runs the check with --mode offline, "so a nonzero exit can only
mean a lint violation, never a download failure". lint-java has no equivalent guard, and
.github/actions/maven-bootstrap only covers the Maven distribution download, not plugin
resolution during the build.
Expected behaviour
A Maven Central hiccup should be retried rather than reported as a lint violation. A real scalafix
violation should still fail on the first attempt.
- Dominant language
- Scala
- Stars
- 1.3k
- Forks
- 377
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 244
Contributor guide
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 apache/datafusion-comet
-
area:ci enhancement requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
apache/datafusion-comet#6078 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
apache/datafusion-comet#6028 ·
-
enhancement
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
apache/datafusion-comet#5861 ·
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/datafusion-comet#5661 ·
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/datafusion-comet#5601 ·
All issues in apache/datafusion-comet
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
ergoplatform/ergodocs#614 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
[VL] madvise(WILLNEED) call fails in MmapFileStream because of wrong calculation of fetching length Openbug triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
chipsalliance/rocket-chip#3831 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100