Push Packages to Octopus 3.* version update breaks package push

(meta) #1

We have a pipeline task with version 3.*. The last time this pipeline task was working as intended was a few days ago, on the 5th of August. The version of “Push to Packages” that was last working was 3.0.222

The log for the last working version is this (replaced internal urls and paths)

2019-08-02T13:30:31.7227019Z [command]C:\Windows\system32\cmd.exe /D /S /C "E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\Octo.cmd push "--server=https://octopus.<internalurl>/" "--apiKey=***" "--package=E:/_work/Kalimdor/r11/a/CI <internalpackagepath>" --replace-existing"
2019-08-02T13:30:31.7376118Z 
2019-08-02T13:30:31.7377004Z E:\_work\Kalimdor\r11\a>dotnet "E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\/Octo.dll" push "--server=https://octopus.<internalurl>/" "--apiKey=***" "--package=E:/_work/Kalimdor/r11/a/CI <internalpackagepath>" --replace-existing 
2019-08-02T13:30:32.1438999Z Octopus Deploy Command Line Tool, version 6.12.0

As of today, this pipeline started to break without any changes from our part. Devops updated this package to 3.0.224, without any option from our side to change it back to 3.0.222, or any change log on what is the change between these two versions or how to circumvent the problem.

The new attempts to push packages are met with the following error log:

2019-08-07T13:19:46.2538581Z [command]C:\Windows\system32\cmd.exe /D /S /C "E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\Octo.cmd push "--server=https://octopus.<internalurl>/" "--apiKey=***" "--package=E:/_work/Kalimdor/r11/a/**/*.nupkg" "--package=E:/_work/Kalimdor/r11/a/CI <internalpackagepath>" --replace-existing"
2019-08-07T13:19:46.2706374Z 
2019-08-07T13:19:46.2707140Z E:\_work\Kalimdor\r11\a>dotnet "E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\/Octo.dll" push "--server=https://octopus.<internalurl>/" "--apiKey=***" "--package=E:/_work/Kalimdor/r11/a/**/*.nupkg" "--package=E:/_work/Kalimdor/r11/a/CI <internalpackagepath>" --replace-existing 
2019-08-07T13:19:46.7212483Z 
2019-08-07T13:19:46.7217172Z System.ArgumentException: Illegal characters in path.
2019-08-07T13:19:46.7217422Z Parameter name: path
2019-08-07T13:19:46.7218293Z    at System.IO.Path.GetFullPath(String path)
2019-08-07T13:19:46.7218588Z    at Octopus.Cli.Util.OctopusPhysicalFileSystem.GetFullPath(String relativeOrAbsoluteFilePath) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Util\OctopusPhysicalFileSystem.cs:line 373
2019-08-07T13:19:46.7218778Z    at Octopus.Cli.Commands.Package.PushCommand.EnsurePackageExists(IOctopusFileSystem fileSystem, String package) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Commands\Package\PushCommand.cs:line 93
2019-08-07T13:19:46.7219162Z    at Octopus.Cli.Commands.Package.PushCommand.<>c__DisplayClass2_0.<.ctor>b__0(String package) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Commands\Package\PushCommand.cs:line 26
2019-08-07T13:19:46.7219373Z    at Octopus.Cli.Infrastructure.Option.Invoke(OptionContext c) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Infrastructure\Options.cs:line 492
2019-08-07T13:19:46.7219506Z    at Octopus.Cli.Infrastructure.OptionSet.Parse(String argument, OptionContext c) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Infrastructure\Options.cs:line 836
2019-08-07T13:19:46.7219629Z    at Octopus.Cli.Infrastructure.OptionSet.<>c__DisplayClass22_0.<Parse>b__0(String argument) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Infrastructure\Options.cs:line 742
2019-08-07T13:19:46.7219765Z    at System.Linq.Enumerable.WhereArrayIterator`1.ToList()
2019-08-07T13:19:46.7221477Z    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
2019-08-07T13:19:46.7221580Z    at Octopus.Cli.Infrastructure.OptionSet.Parse(IEnumerable`1 arguments) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Infrastructure\Options.cs:line 740
2019-08-07T13:19:46.7221704Z    at Octopus.Cli.Infrastructure.Options.Parse(IEnumerable`1 arguments) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\Infrastructure\OptionGroup.cs:line 36
2019-08-07T13:19:46.7222870Z    at Octopus.Cli.Commands.ApiCommand.<Execute>d__35.MoveNext()
2019-08-07T13:19:46.7222953Z --- End of stack trace from previous location where exception was thrown ---
2019-08-07T13:19:46.7223067Z    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
2019-08-07T13:19:46.7223152Z    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
2019-08-07T13:19:46.7223243Z    at Octopus.Cli.CliProgram.Run(String[] args) in C:\buildAgent\work\289bf0fca31007af\source\Octopus.Cli\CliProgram.cs:line 52
2019-08-07T13:19:46.7223354Z Exit code: -3
2019-08-07T13:19:46.7442044Z ##[error]Error: The process 'E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\Octo.cmd' failed with exit code 4294967293
2019-08-07T13:19:46.7451216Z ##[error]Failed to push package. The process 'E:\_work\Kalimdor\_tool\Octo\6.12.0\x64\Octo.cmd' failed with exit code 4294967293
2019-08-07T13:19:46.7518223Z ##[section]Finishing: Push Packages to Octopus

Since we can’t set our versions back to 3.0.222 manually we had to downgrade all our pipelines to 2.*. Is there a way to fix this issue, or for a way to know how to circumvent that problem with version 3.0.224?

(Kenneth Bates) #3

Hi @privatemeta,

Thanks for getting in touch! I’m sorry to hear you’ve hit this roadblock causing you to have to downgrade. I think the issue based on the error message you’ve sent is due to the fact that we don’t support glob paths in the packages field; only a single package can be pushed on a single line. Are you able to test pushing the second package on a second line and see if that remedies this issue for you?

I hope this helps and I look forward to hearing back!

Best regards,

Kenny

(meta) #4

Hi Kenneth,

We found out that the issue was that we used the same Package lines for multiple projects,

"Package": "$(System.ArtifactsDirectory)\\**\\*.nupkg\n$(System.ArtifactsDirectory)\\**\\*.zip",

but in the project that failed we didn’t have a nuget package as an artifact.
Until version 3.0.222 this didn’t seem to be an issue but in 3.0.224 onwards (auto updated) it suddenly broke. I’m not sure if you changed something in the script making it fail or if devops changed something. We were able to fix it by cleaning up our packages variable.