Skip to content

ci: resolve Apache parent POM before worker builds - #20459

Open
gitedmond wants to merge 2 commits into
apache:masterfrom
gitedmond:ci/retry-apache-parent-resolution
Open

gitedmond wants to merge 2 commits into
apache:masterfrom
gitedmond:ci/retry-apache-parent-resolution

Conversation

@gitedmond

Copy link
Copy Markdown
Contributor

Fixes #20436.

Description

Two master jobs aborted while resolving the root org.apache:apache parent POM, before their assigned Maven work began. Maven reported a repository URL of ${repoOrgUrl} literally when the parent was unavailable locally.

Use concrete Maven Central coordinates in the root POM's repository and plugin repository declarations. The repoOrg* properties had no other uses and were removed. The shared CI worker now runs a root-only Maven validate after Java setup, retrying up to three times with -U and a 10-second delay before the main script. A persistent failure still fails the job on the third attempt.

Validation

  • Before the change, the OpenRewrite job and QTest 2/4 job failed to resolve Apache parent POM versions 39 and 40, respectively, with the literal placeholder URL.
  • JDK 25 / Maven 3.9.16: mvn -B -U -N validate -Pskip-static-checks -Dweb.console.skip=true passed using an initially empty local Maven repository and downloaded org.apache:apache:pom:40.
  • The generated effective POM contains concrete Central URLs for both repository types.
  • actionlint passed for the edited workflow. A shell harness verified success on attempt three after two failures and exit 1 after three failures.
  • git diff --check: passed.

The OpenRewrite and QTest jobs require PR CI to verify in their hosted environment.

This PR has:

  • been self-reviewed.

@FrankChen021 FrankChen021 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The root POM now exposes concrete Maven Central coordinates early enough for Maven to resolve the Apache parent, and the shared worker preflights that resolution with a clear three-attempt retry before starting each job. I also inspected all in-repository callers of the reusable worker and the surrounding root-POM build/profile configuration; no changed behavior introduced an actionable risk.

Reviewed 2 of 2 changed files.

Validation: narrow git diff --check against the supplied merge-base and PR head passed. No builds, tests, installs, or formatters were run.


This is an automated review by Codex GPT-5.6-Luna(max)

Comment thread .github/workflows/worker.yml

@FrankChen021 FrankChen021 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No actionable issues found in this review. The reusable worker now resolves the root Apache parent before any job-specific work and retries transient Maven failures, the root POM uses concrete Maven Central coordinates for both dependency and plugin resolution, and the listener test matches the current TaskRunnerListener API. The previously requested explanation for the standalone preflight step is present in the current head.

Reviewed 3 of 3 changed files.

Validation: git merge-tree --write-tree master HEAD completed without conflicts, and git diff --check passed. No builds, tests, installs, or formatters were run.


This is an automated review by Codex GPT-5.6 Luna(Max)

@FrankChen021

Copy link
Copy Markdown
Member

@gitedmond please rebase your branch to the latest master to resolve the conflict

@gitedmond
gitedmond force-pushed the ci/retry-apache-parent-resolution branch from d419928 to d9bb6d0 Compare October 4, 2026 03:10
@gitedmond

Copy link
Copy Markdown
Contributor Author

@FrankChen021 rebased

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI infra: Maven cannot resolve parent POM org.apache:apache (${repoOrgUrl})

2 participants