Conversation
Move notify block from step level to pipeline level and add both passed and failed notifications with explicit messages. Step-level notify only supports a subset of conditions, while pipeline-level notify properly triggers on build state. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Release Notes: https://github.com/autonomousapps/dependency-analysis-gradle-plugin/blob/main/CHANGELOG.md#version-2190 ------------------------------------------------------------------------ PR #89 (adc599a) updated Kotlin to 2.1.20, which produces Kotlin metadata version 2.2.0. The dependency analysis plugin v1.33.0 bundles kotlinx-metadata-jvm that only supports metadata up to v2.1.0, causing 'buildHealth' to fail with: Provided Metadata instance has version 2.2.0, while maximum supported version is 2.1.0. Version 2.19.0 bumps kotlinx-metadata-jvm to 2.1.21 which adds support for K2.2 projects. This is the latest version available within the 2.x line. Version 3.x requires Gradle 8.11 minimum, while the project currently uses Gradle 8.6. Additionally, v2.x no longer auto-applies the plugin to subprojects, so each module now explicitly applies 'com.autonomousapps.dependency-analysis' in its plugins block. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
👋 @JorgeMucientes and FYI that I am adding you to review this just because of #89, but don't worry, this is quite a simple ✅ review, I promise, tops 5/10' mins of your time, thank YOU! 🙏 |
There was a problem hiding this comment.
Pull request overview
This PR updates the Dependency Analysis Gradle Plugin from 1.33.0 to 2.19.0 to fix the buildHealth task failure caused by Kotlin metadata version incompatibility introduced in PR #89 (Kotlin 2.1.20 upgrade). It also fixes CI Slack notifications that were previously only firing on failure.
Changes:
- Bumps
dependencyAnalysisVersionfrom1.33.0to2.19.0insettings.gradle - Explicitly adds
com.autonomousapps.dependency-analysisto each submodule's plugins block (required because v2.x no longer auto-applies to subprojects) - Moves Slack notification config from step-level to pipeline-level in the dependency analysis Buildkite schedule, adding a success notification alongside the existing failure one
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
settings.gradle |
Bumps plugin version to 2.19.0 |
mediapicker/build.gradle |
Explicitly applies the dependency-analysis plugin |
mediapicker/domain/build.gradle |
Explicitly applies the dependency-analysis plugin |
mediapicker/source-camera/build.gradle |
Explicitly applies the dependency-analysis plugin |
mediapicker/source-device/build.gradle |
Explicitly applies the dependency-analysis plugin |
mediapicker/source-gif/build.gradle |
Explicitly applies the dependency-analysis plugin |
mediapicker/source-wordpress/build.gradle |
Explicitly applies the dependency-analysis plugin |
sampleapp/build.gradle |
Explicitly applies the dependency-analysis plugin |
.buildkite/schedules/dependency-analysis.yml |
Moves notify config to pipeline level with both passed and failed conditions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
JorgeMucientes
left a comment
There was a problem hiding this comment.
Thanks for handling this update @ParaskP7. Just left a minor comment/question, but definitely not blocking. Feel free to merge 👍🏼
| channels: | ||
| - "#android-core-notifs" | ||
| message: "Dependency analysis succeeded." | ||
| if: build.state == "passed" |
There was a problem hiding this comment.
Do we want to generate a notification when everything passes as expected? android-core-notifs has many notications already, I usually lean more towards reducing notifications as much as possible.
Anyway no strong opinion here, just sharing :)
There was a problem hiding this comment.
That's a great question and thanks for posting it @JorgeMucientes ! 💯
Do we want to generate a notification when everything passes as expected?
Yes, actually we do, and that was the intention here. The reason is twofold, because:
- We noticed that sometimes a Slack message (of a failure) will not get posted. Or, it might get posted, but then missed (busy life).
- Having the success Slack message posted (once a week) and then us reviewing that (on Monday) gives us this extra bit of confidence that the schedule build went through without any issues. For example, imagine that for some reason, this scheduled build might not even trigger over the weekend, and then, we won't have any means to know about it, not unless someone explicitly calls that out (not sure how).
android-core-notifs has many notications already, I usually lean more towards reducing notifications as much as possible.
Yea, I understand where you're coming from, but also I actually don't think that android-core-notifs has that many notifications, and, with most (or all) of them happen over the weekend.
|
Thank you for reviewing this change @JorgeMucientes , much appreciated! 🙇 ❤️ 🚀 |
Closes: AINFRA-2127
Closes: AINFRA-2122
Description
PR #89 (adc599a) updated Kotlin to 2.1.20, which produces Kotlin metadata version 2.2.0. The dependency analysis plugin 1.33.0 bundles
kotlinx-metadata-jvmthat only supports metadata up to 2.1.0, causingbuildHealthto fail with:This PR updates the dependency analysis plugin from 1.33.0 to 2.19.0, which bumps
kotlinx-metadata-jvmto 2.1.21 adding support for K2.2 projects. Version 2.19.0 is the latest available within the 2.x line — version 3.x requires Gradle 8.11 minimum, while the project currently uses Gradle 8.6.Additionally, v2.x no longer auto-applies the plugin to subprojects, so each module now explicitly applies
com.autonomousapps.dependency-analysisin its plugins block.Finally, the Slack notify configuration in the dependency analysis pipeline is moved from step level to pipeline level with both passed and failed notifications, as step-level notify only supports a subset of conditions.
Testing Steps
./gradlew buildHealthtask and verify that it passes successfullybuild/reports/dependency-analysis/build-health-report.txtbuild/reports/dependency-analysis/build-health-report.json#android-core-notifsSampleapp, try out all available screens and functionality. Verify everything is working as expected.