tinglesoftware / dependabot-azure-devops

Tools for updating dependencies in Azure DevOps repositories using https://dependabot.com
MIT License
191 stars 63 forks source link

Passed `nil` into T.must (TypeError) errors with 1.27.707 #1093

Closed wcunningham1966 closed 3 months ago

wcunningham1966 commented 5 months ago

Trying to run Dependabot this morning after the 1.27.707 update was released and it's failing with the following errors. I successfully ran it as late as Friday on 1.27.699. So it seems to be an issue within this latest update.

Adding dockerImageTag: '1.27.0'

to the inputs section of that pipeline's config seems to work though.

Anyway, here's the errors.

2024-04-15T14:12:51.4409219Z /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/_types.rb:222:in must': Passednilinto T.must (TypeError) 2024-04-15T14:12:51.4409786Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/file_parser.rb:26:inparse' 2024-04-15T14:12:51.4410671Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:919:in bind_call' 2024-04-15T14:12:51.4411373Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:919:inblock in create_validator_method_medium0' 2024-04-15T14:12:51.4412158Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker/dependency_finder.rb:161:in top_level_dependencies' 2024-04-15T14:12:51.4412722Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:inbind_call' 2024-04-15T14:12:51.4413265Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in validate_call' 2024-04-15T14:12:51.4413807Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:inblock in _on_method_added' 2024-04-15T14:12:51.4414406Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker/dependency_finder.rb:98:in block in updated_peer_dependencies' 2024-04-15T14:12:51.4415281Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker/dependency_finder.rb:92:ineach' 2024-04-15T14:12:51.4415852Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker/dependency_finder.rb:92:in filter_map' 2024-04-15T14:12:51.4416467Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker/dependency_finder.rb:92:inupdated_peer_dependencies' 2024-04-15T14:12:51.4417050Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in bind_call' 2024-04-15T14:12:51.4417745Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:invalidate_call' 2024-04-15T14:12:51.4418302Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in block in _on_method_added' 2024-04-15T14:12:51.4418887Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-nuget-0.252.0/lib/dependabot/nuget/update_checker.rb:130:inupdated_dependencies_after_full_unlock' 2024-04-15T14:12:51.4419425Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in bind_call' 2024-04-15T14:12:51.4419965Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:invalidate_call' 2024-04-15T14:12:51.4420515Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in block in _on_method_added' 2024-04-15T14:12:51.4421319Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/update_checkers/base.rb:110:inupdated_dependencies' 2024-04-15T14:12:51.4421991Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in bind_call' 2024-04-15T14:12:51.4422536Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:invalidate_call' 2024-04-15T14:12:51.4423253Z from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in block in _on_method_added' 2024-04-15T14:12:51.4423566Z from bin/update_script.rb:622:inblock in

' 2024-04-15T14:12:51.4423779Z from bin/update_script.rb:545:in each' 2024-04-15T14:12:51.4423970Z from bin/update_script.rb:545:in
' 2024-04-15T14:12:53.9909694Z ##[error]The process '/usr/bin/docker' failed with exit code 1

wcunningham1966 commented 5 months ago

Further info: looks like 1.27.707 is having trouble with our setup, but works with the previous version.

GitHub access token has been provided. Using 'https://dev.azure.com:443/' as API endpoint Pull Requests shall be linked to milestone (work item) 0 Working in /PRT2/_git/PRT2, 'releases/2.4.2' branch under '/CustomerInfoService' directory Cloning repository into /home/dependabot/dependabot-updater/tmp//PRT2/_git/PRT2 Found 1 dependency file(s) at commit e00f777cd0ce9d03a649f555bfaa3b10aa0b8e65

DaleMckeown commented 5 months ago

I am having the same issue on Azure DevOps.

This occurs when connecting to an Azure Artifacts private feed. like @wcunningham1966 above, we are passing through the PAT as necessary. Seems that the recent changes are not passing the PAT tokens through to the private feed and it therefore cannot authenticate.


  Running for SDK-style project
    Package [coverlet.collector] Does not exist as a dependency in [/home/dependabot/dependabot-updater/tmp/UoLIct/Packages/_git/UoL.AspNetCore.MacAuthorization/UoL.AspNetCore.MacAuthorization/UoL.AspNetCore.MacAuthorization.csproj].
Updating project [/home/dependabot/dependabot-updater/tmp/UoLIct/Packages/_git/UoL.AspNetCore.MacAuthorization/UoL.AspNetCore.MacAuthorization.Tests/UoL.AspNetCore.MacAuthorization.Tests.csproj]
  Running for SDK-style project
dotnet build in GetAllPackageDependenciesAsync failed. STDOUT: MSBuild version 17.9.6+a4ecab324 for .NET
  Determining projects to restore...
/usr/local/dotnet/current/sdk/8.0.202/NuGet.targets(169,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/UoLIct/_packaging/Packages/nuget/v3/index.json. [/tmp/package-dependency-resolution_RWtdD2/Project.csproj]
/usr/local/dotnet/current/sdk/8.0.202/NuGet.targets(169,5): error :   Response status code does not indicate success: 401 (Unauthorized). [/tmp/package-dependency-resolution_RWtdD2/Project.csproj]

Build FAILED.

/usr/local/dotnet/current/sdk/8.0.202/NuGet.targets(169,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/**orgName**/_packaging/**projectName**/nuget/v3/index.json. [/tmp/package-dependency-resolution_RWtdD2/Project.csproj]
/usr/local/dotnet/current/sdk/8.0.202/NuGet.targets(169,5): error :   Response status code does not indicate success: 401 (Unauthorized). [/tmp/package-dependency-resolution_RWtdD2/Project.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:07.75

 STDERR: 

    Package [coverlet.collector] Does not exist as a dependency in [/home/dependabot/dependabot-updater/tmp/UoLIct/Packages/_git/UoL.AspNetCore.MacAuthorization/UoL.AspNetCore.MacAuthorization.Tests/UoL.AspNetCore.MacAuthorization.Tests.csproj].
Update complete.
Submitting coverlet.collector pull request for creation.
E, [2024-04-17T14:25:53.232218 #6] ERROR -- : Error while generating commit message: Passed `nil` into T.must
/home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/_types.rb:222:in `must': Passed `nil` into T.must (TypeError)
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:284:in `pr_name_directory'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `block in create_validator_method_fast0'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:184:in `solo_pr_name'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `block in create_validator_method_fast0'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:114:in `pr_name'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `block in create_validator_method_fast0'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:291:in `commit_subject'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation_2_7.rb:59:in `block in create_validator_method_fast0'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:165:in `rescue in commit_message'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator/message_builder.rb:157:in `commit_message'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `validate_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator.rb:315:in `azure_creator'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `validate_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/dependabot-common-0.252.0/lib/dependabot/pull_request_creator.rb:241:in `create'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `bind_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/call_validation.rb:270:in `validate_call'
    from /home/dependabot/dependabot-updater/vendor/ruby/3.1.0/gems/sorbet-runtime-0.5.11346/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
    from bin/update_script.rb:829:in `block in <main>'
    from bin/update_script.rb:545:in `each'

edit:

My issue turned out to be https://github.com/tinglesoftware/dependabot-azure-devops/issues/921. I've set the image as recommended and my issue has gone away.

nourkilany commented 5 months ago

I am having the same issue specifying the docker image tag 1.27.0 fixed the issue temporarily

evgenyvalavin commented 5 months ago

https://github.com/dependabot/dependabot-core/issues/9555

jormdav commented 5 months ago

Is see 9555 is merged, but I still see this issue with 1.28.708. I too have specified dockerImageTag: '1.27.0' to work around.

wcunningham1966 commented 5 months ago

Issue still exists in 128.708 for me too.

ConstantinEilebrecht commented 4 months ago

Issue still exists for me v1.28

MarkTallentire commented 3 months ago

dockerImageTag: '1.27.0' works for us.

Thing to note that may be different for us is that we don't use any private repositories

mburumaxwell commented 3 months ago

Version 1.29.0 should have this fixed. Reopen if otherwise.

ConstantinEilebrecht commented 3 months ago

Issue still exists for me v1.29

MarkTallentire commented 3 months ago

Also still exists for me. Ours is a brand new implementation only completed last week so on the latest version

LargePrefPlaceholder-XKUz1MEJBwkOM

On Sat, 8 Jun 2024 at 5:31 PM, ConstantinEilebrecht < @.***> wrote:

Issue still exists for me v1.29

— Reply to this email directly, view it on GitHub https://github.com/tinglesoftware/dependabot-azure-devops/issues/1093#issuecomment-2156095699, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGIAYPQBJRBZVPNPWNVVZZ3ZGMWVTAVCNFSM6AAAAABGHPVODCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJWGA4TKNRZHE . You are receiving this because you commented.Message ID: @.***>

mburumaxwell commented 3 months ago

The hope was that it was fixed by https://github.com/dependabot/dependabot-core/issues/9555

Hopefully you do not have a fixed version for dockerImageTag that points to an earlier version.

Let's retry when https://github.com/tinglesoftware/dependabot-azure-devops/pull/1153 is merged using dockerImageTag: latest

ConstantinEilebrecht commented 3 months ago

I tried it with the latest image. Now it works!

mburumaxwell commented 3 months ago

Released the latest bits into 1.29.1 so there is no longer any need to specify dockerImageTag: latest. Glad this is resolved.

evgenyvalavin commented 3 months ago

Still exists

dependabot-common-0.260.0

philipp-naused commented 3 months ago

Still exists

I tried to schedule a build without the dockerImageTag parameter and it's still using 1.29. Do we need to wait until there is a 1.29.1 release before it will use that version as the default?

DaleMckeown commented 3 months ago

Yes, removed the dockerImageTag and it's running 1.29.

##[debug]Running docker container -> 'ghcr.io/tinglesoftware/dependabot-updater-nuget:1.29' ...
##[debug]/usr/bin/docker arg: ghcr.io/tinglesoftware/dependabot-updater-nuget:1.29
mburumaxwell commented 3 months ago

The extension pulls the major.minor tag because the path versions differ between it and the docker images. When 1.29.1 was released, a new image tagged 1.29 was released that replaced the previous 1.29 but it could be referenced as 1.29.0. Unless you have supplied a value to dockerImageTag or you are caching docker images in your pipeline, you should get the latest tagged version. As of now, that's 1.29.1

ConstantinEilebrecht commented 3 months ago

I tried it with the latest image. Now it works!

Sorry guys i was a bit too fast in writing rather than reading the logs in detail...

dependabot-common-0.260.0

Project.csproj : error NU1301: Unable to load the service index for source [https://<ORG>.pkgs.visualstudio.com/_packaging/<PROJ>/nuget/v3/index.json](https://<ORG>.pkgs.visualstudio.com/_packaging/<PROJ>/nuget/v3/index.json.)

and:

    from /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11422/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
    from bin/update_script.rb:836:in `block in <main>'
    from bin/update_script.rb:549:in `each'
    from bin/update_script.rb:549:in `<main>'
##[error]The process '/usr/bin/docker' failed with exit code 1
Finishing: dependabot
wcunningham1966 commented 3 months ago

1.29.1 seems to work for me so far.

MarkTallentire commented 3 months ago

Can confirm things now seem to be working using dockerTagImage: latest

On Mon, 10 Jun 2024 at 14:24, wcunningham1966 @.***> wrote:

129.1 seems to work for me so far.

— Reply to this email directly, view it on GitHub https://github.com/tinglesoftware/dependabot-azure-devops/issues/1093#issuecomment-2158375200, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGIAYPTCZE7PDSCN7M3LC23ZGWSJDAVCNFSM6AAAAABGHPVODCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJYGM3TKMRQGA . You are receiving this because you commented.Message ID: @.***>

-- LargePrefPlaceholder-XKUz1MEJBwkOM

MarkTallentire commented 3 months ago

This seems to have come back for us on 1.29.1.

image image