Skip to content

[ci] Recover scheduled builds from prerelease failures - #411

Open
hello-stephen wants to merge 1 commit into
apache:mainfrom
hello-stephen:codex/fix-thirdparty-build-state-recovery
Open

[ci] Recover scheduled builds from prerelease failures#411
hello-stephen wants to merge 1 commit into
apache:mainfrom
hello-stephen:codex/fix-thirdparty-build-state-recovery

Conversation

@hello-stephen

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Scheduled run 33183105470 detected Doris thirdparty commit 8026894b but failed while preparing the source archive because krb5-1.19.tar.gz was empty. Check Diff had already written Status: BUILDING, while the regular failure job was skipped because prerelease itself failed.

Every later scheduled run saw the same Doris version and BUILDING state. The retry branch only recognized FAILURE, so all platform builds and the Docker update were skipped until another thirdparty commit landed. Non-thirdparty Doris commits could also advance the recorded Doris Version and hide the unbuilt thirdparty change from the old git diff window.

Changes

  • compare the thirdparty commit represented by the recorded Doris version with the current thirdparty commit instead of diffing whole Doris HEADs
  • retry bounded FAILURE and stale BUILDING states
  • record FAILURE inside prerelease when source preparation fails
  • run the Docker update only after prerelease and the Linux x86_64 archive build both succeed

Validation

  • actionlint -shellcheck '' .github/workflows/build.yml
  • git diff --check
  • replayed six state-machine scenarios with real Doris history: new thirdparty commit, the 2689e0d7 BUILDING incident, a later non-thirdparty HEAD, retry exhaustion, the e5f6299 Arrow dual-stack change, and a stable successful state
  • full actionlint reports the same existing ShellCheck codes as origin/main and no new warning class/count

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants