2.2 KiB
PR#35: Gradle build files reach the model
WARNING: This document describes only the change applied in this PR. It may already be outdated once the next PR is merged. Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
The Problem
PR-Agent 0.47.0 lists gradle among its bad_extensions, beside binary formats like jar, png and zip.
So a changed build.gradle or settings.gradle never reaches the model,
and werkrevisor names it only as "files the model cannot review", which gives YELLOW.
On hs.hsadmin.ng PR#317 the model then reported a missing plugin repository as finding,
although settings.gradle declares it in pluginManagement.
Gradle files are build code: they hold dependencies, repositories and plugins,
which a review must see.
build.gradle.kts was not affected, since its extension is kts; the tests below cover it too.
Non-Goals
- No change for the other
bad_extensions: they are binary, generated or data formats. - No change of the risky paths: a changed Gradle file still gives YELLOW, unless Jev judges it as of low risk.
The Scenarios
Feature: Gradle build files reach the model
Scenario#35.01: the model reviews a changed Gradle file
So that the model reviews changed dependencies, repositories and plugins.
- Given a PR that changes
settings.gradleandsrc/a.py - When werkrevisor reviews the PR
- Then the model gets the changes of
settings.gradleandsrc/a.pyto review
Verified by
- test_pr_agent_run: test_gradle_files_reach_the_prompt
- test_pr_agent_integration: test_gradle_files_are_reviewable_but_binary_files_are_not
- test_pr_agent_integration: test_reviewability_does_not_follow_changed_settings
The Solution
- werkrevisor removes
gradlefrom thebad_extensionsof PR-Agent, both in the settings of the run and in its own check which files the model can review; it reads the list from the file shipped with PR-Agent, not from the settings, which can change at runtime. - werkrevisor 0.20.4.
Prerequisite PRs
- PR#34: the statistics service is called statistics, not server.