-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[Tooling] Add Claude Build Analysis to any failing build job #25104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: iangmaia/disable-wiremock-logs-on-ci
Are you sure you want to change the base?
[Tooling] Add Claude Build Analysis to any failing build job #25104
Conversation
Generated by 🚫 Danger |
|
| App Name | Jetpack | |
| Configuration | Release-Alpha | |
| Build Number | 30331 | |
| Version | PR #25104 | |
| Bundle ID | com.jetpack.alpha | |
| Commit | 0b0f017 | |
| Installation URL | 0vp4fmcb8t7q0 |
|
| App Name | WordPress | |
| Configuration | Release-Alpha | |
| Build Number | 30331 | |
| Version | PR #25104 | |
| Bundle ID | org.wordpress.alpha | |
| Commit | 0b0f017 | |
| Installation URL | 7ue2f52sooot8 |
dfddb66 to
7cf07fb
Compare
🤖 Build Failure AnalysisThis build has failures. Claude has analyzed them - check the build annotations for details. |
263a056 to
daf0d87
Compare
7601812 to
e349939
Compare
|
|
||
| export IMAGE_ID="xcode-$XCODE_VERSION" | ||
| export CI_TOOLKIT_PLUGIN="automattic/a8c-ci-toolkit#$CI_TOOLKIT_PLUGIN_VERSION" | ||
| export CLAUDE_PLUGIN="iangmaia/claude-summarize#iangmaia/add-build-log-mode" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've created a Pull Request to the claude-summarize-buildkite-plugin project introducing the build_log_mode attribute, allowing us to send to for analysis Claude only failed jobs, saving a lot of the tokens usage.
Hopefully it won't take long to merge it and we can revert to the main repo again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise, we can always keep using or fork, whic I think you mentioned this elsewhere, too.
This reverts commit d3aa906.
|
| build_log_mode: "failed" | ||
| trigger: "on-failure" | ||
| max_log_lines: 1500 | ||
| custom_prompt: "Do not mention successful points, focus on failures and recovery to keep the analysis succint. Only add the `Best Practices` section if the changes in this PR are directly relevant to it. Only add a `Root Cause` section when you're sure about the issues' causes." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| custom_prompt: "Do not mention successful points, focus on failures and recovery to keep the analysis succint. Only add the `Best Practices` section if the changes in this PR are directly relevant to it. Only add a `Root Cause` section when you're sure about the issues' causes." | |
| custom_prompt: "Do not mention successful points, focus on failures and recovery to keep the analysis succinct. Only add the `Best Practices` section if the changes in this PR are directly relevant to it. Only add a `Root Cause` section when you're sure about the issues' causes." |
| queue: upload | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nitipick, no trailing newline.
| queue: upload | |
| queue: upload |
|
|
||
| export IMAGE_ID="xcode-$XCODE_VERSION" | ||
| export CI_TOOLKIT_PLUGIN="automattic/a8c-ci-toolkit#$CI_TOOLKIT_PLUGIN_VERSION" | ||
| export CLAUDE_PLUGIN="iangmaia/claude-summarize#iangmaia/add-build-log-mode" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise, we can always keep using or fork, whic I think you mentioned this elsewhere, too.
| - label: "🔬 Keystone Unit Tests" | ||
| command: .buildkite/commands/run-unit-tests-for-scheme.sh Keystone | ||
| # Disabled till https://github.com/wordpress-mobile/WordPress-iOS/pull/24537 is completed | ||
| # | ||
| # The boolean value has to be a string explicitly. | ||
| # See validation error against schema. | ||
| if: "false" | ||
| plugins: [$CI_TOOLKIT_PLUGIN] | ||
| artifact_paths: | ||
| - "build/results/*" | ||
| notify: | ||
| - github_commit_status: | ||
| context: "Unit Tests Keystone" | ||
| # Disabled till https://github.com/wordpress-mobile/WordPress-iOS/pull/24537 is completed | ||
| # - label: "🔬 Keystone Unit Tests" | ||
| # command: .buildkite/commands/run-unit-tests-for-scheme.sh Keystone | ||
| # plugins: [$CI_TOOLKIT_PLUGIN] | ||
| # artifact_paths: | ||
| # - "build/results/*" | ||
| # notify: | ||
| # - github_commit_status: | ||
| # context: "Unit Tests Keystone" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why commenting the whole step?
I mean, it makes sense so the parser doesn't have to bother with something that is hardcoded if: "false" and the result is the same, but was it to help with this PR or something that stood out?
Perhaps given the commit it the change is in, e349939, it was to reduce the logs?





Fixes AINFRA-1695
Description
Adds to the project Claude Build Analysis, similarly to what has been done on Android (with the follow-up on wordpress-mobile/WordPress-Android#22459).
Claude will then from now on run and analyze any build job that has failed, adding a report annotation about the build failure. We'll also add a PR comment mentioning the Claude build analysis.
This PR is built on top of #25120, which was something I implemented in order to make the logs more compact. If we decide to not use it, we can retarget this PR to
trunk.Testing
See failed test build with annotation:
If you want, you can also check the annotation by creating a Pull Request based on this branch and breaking any of the jobs in the build.