Skip to content

Commit

Permalink
swap language when closing group refresh PR to be less specific (#9371)
Browse files Browse the repository at this point in the history
  • Loading branch information
jakecoffman committed Mar 26, 2024
1 parent 634b2fa commit b759529
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 4 deletions.
99 changes: 99 additions & 0 deletions silent/tests/testdata/vu-group-update-not-possible.txt
@@ -0,0 +1,99 @@
# For a group rebase, if all dependencies are up-to-date Dependabot will close the PR

dependabot update -f input-up-to-date.yml --local . --updater-image ghcr.io/dependabot/dependabot-updater-silent
! stdout record_update_job_error
stdout -count=1 close_pull_request
stdout -count=1 mark_as_processed

# Same test as above, but all dependencies errored

! dependabot update -f input-errored.yml --local . --updater-image ghcr.io/dependabot/dependabot-updater-silent
stdout -count=2 record_update_job_error
stdout -count=1 close_pull_request
stdout -count=1 mark_as_processed

-- up-to-date/manifest.json --
{
"dependency-a": { "version": "1.2.3" },
"dependency-b": { "version": "1.2.3" }
}

-- dependency-a.json --
{
"versions": [
{ "version": "1.2.3" }
]
}

-- dependency-b.json --
{
"versions": [
{ "version": "1.2.3" }
]
}

-- input-up-to-date.yml --
job:
package-manager: "silent"
source:
directory: "/up-to-date"
provider: example
hostname: example.com
api-endpoint: https://example.com/api/v3
repo: dependabot/smoke-tests
dependency-groups:
- name: all-group
rules:
patterns:
- "*"
dependencies:
- dependency-a
- dependency-b
updating-a-pull-request: true
dependency-group-to-refresh: all-group
existing-group-pull-requests:
- dependency-group-name: all-group
dependencies:
- dependency-name: dependency-a
dependency-version: 1.2.3
- dependency-name: dependency-b
dependency-version: 1.2.3

-- errors/manifest.json --
{
"dependency-c": { "version": "1.2.3" },
"dependency-d": { "version": "1.2.3" }
}

-- dependency-c --
THIS IS NOT JSON

-- dependency-d --
THIS IS NOT JSON

-- input-errored.yml --
job:
package-manager: "silent"
source:
directory: "/errors"
provider: example
hostname: example.com
api-endpoint: https://example.com/api/v3
repo: dependabot/smoke-tests
dependency-groups:
- name: all-group
rules:
patterns:
- "*"
dependencies:
- dependency-c
- dependency-d
updating-a-pull-request: true
dependency-group-to-refresh: all-group
existing-group-pull-requests:
- dependency-group-name: all-group
dependencies:
- dependency-name: dependency-c
dependency-version: 2.0.0
- dependency-name: dependency-d
dependency-version: 2.0.0
4 changes: 2 additions & 2 deletions updater/lib/dependabot/updater/group_update_refreshing.rb
Expand Up @@ -16,8 +16,8 @@ def upsert_pull_request_with_error_handling(dependency_change, group)
if dependency_change.updated_dependencies.any?
upsert_pull_request(dependency_change, group)
else
Dependabot.logger.info("Dependencies are up to date, closing existing Pull Request")
close_pull_request(reason: :up_to_date, group: group)
Dependabot.logger.info("No updated dependencies, closing existing Pull Request")
close_pull_request(reason: :update_no_longer_possible, group: group)
end
rescue StandardError => e
error_handler.handle_job_error(error: e, dependency_group: dependency_snapshot.job_group)
Expand Down
Expand Up @@ -96,7 +96,7 @@
end

it "closes the pull request" do
expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :up_to_date)
expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible)

group_update_all.perform
end
Expand Down Expand Up @@ -166,7 +166,7 @@
end

it "considers the dependencies in the other PRs as handled, and closes the duplicate PR" do
expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :up_to_date)
expect(mock_service).to receive(:close_pull_request).with(["dummy-pkg-b"], :update_no_longer_possible)

group_update_all.perform

Expand Down

0 comments on commit b759529

Please sign in to comment.