microsoft / azure-pipelines-tasks

Tasks for Azure Pipelines
https://aka.ms/tfbuild
MIT License
3.5k stars 2.61k forks source link

cURL Upload fails with wildcards since latest TFS update #2914

Closed k3flo closed 6 years ago

k3flo commented 8 years ago

Hi,

we are using a cUrl Upload task with the following configuration which worked till 19th October 2016:

configuration correct

Since yesterday, this build step fails with this error message:

fail

It seems like the '\' characters were trimmed away (see line 3).

What is wrong here?

regards

Florian

dannylgreen commented 8 years ago

Hello,

Confirming this issue, I am seeing the same thing with version 1.0.19.

dannylgreen commented 8 years ago

Hello,

If there is legitimate way to have a Task use a specific version I can't find it, but I was able to trick mine to use version 1.0.17 and get my release out. On my build agent, in the BuildAgent\Tasks\cURLUploader folder, I renamed the 1.0.19 folder to xxx1.0.19, made a copy of the 1.0.17 folder and then renamed it to 1.0.19.

yacaovsnc commented 8 years ago

@k3flo @dannylgreen It appears there is a path issue (curl expecting forward slashes as path separator and normalized away Windows' path separators) introduced recently, possibly by a library update.

A workaround to this issue is to specify the full path to the file that will be uploaded without any wildcard. This way we don't attempt to search the file by pattern matching and curl can take Windows path as its '-T' value.

@k3flo the build definition you posted looks different from the log you posted -- they are uploading different files. The build definition you post should work as it is pointing to a file directly.

k3flo commented 8 years ago

@yacaovsnc I'm very sorry, I pasted the wrong image. I fixed the image so that the definition matches the log.

yacaovsnc commented 8 years ago

Thanks @k3flo, assuming your version number is v3.1.16_11010, you could potentially unblock yourself by changing the input to: $(build.sources.directory)\labs.ETL\Docs\Release Notes\$(VersionNumber)_labs.Flow_Release_Notes.pdf

I am looking at the root cause at the moment.

Sorry about the trouble.

yacaovsnc commented 8 years ago

We have hotfixed this issue now. Sorry it took awhile because of github.com was down today. Please try again.

sawpresto commented 6 years ago

@yacaovsnc I'm using version 2.* of the cURL Upload Task in VSTS on a Hosted Windows agent (both VS2017 and Hosted) and it seems like I'm still getting the issue where in the logs it shows that it has removed all slashes and can't find the file at d:ar1aPartsUnlimitedARMTemplatesAppInsights.json only when doing a minimatch. I don't run into this error when running the Hosted Linux Preview. Here are the combinations I've tried:

Looking in the code, it looks like perhaps the isWin variable isn't used? Do you know how I can get the task working against multiple files? I'd prefer to not have to have a task for each file hard-coded. I'd also rather use version 2 than 1 so that I can use a Service Endpoint.

yacaovsnc commented 6 years ago

I see the matching logic has changed recently.

I will route this to the right person to take a look.

sawpresto commented 6 years ago

Great, thank you! This is a bit time sensitive so if someone can take a look at this right away, I would appreciate it very much!! Let me know if there is a combination for the minimatch that should work for me. Please let me know what other information you need from me.

lkillgore commented 6 years ago

Hi @sawpresto, thanks for pointing this issue out to us. I was able to reproduce the issue, and we're working on a fix for it. Sorry for the inconvenience.

sawpresto commented 6 years ago

Thanks, @lkillgore! Do you have an estimate of when the updated task will be released at earliest? Not sure if task updates fall within VSTS's release cycles.

lkillgore commented 6 years ago

@sawpresto, these tasks do fall within VSTS's release cycles, but we are eyeballing this for a hotfix outside of a normal release. It's still early, so I don't want to say too much beyond that right now. I'll try to see that this thread gets updated as decisions are made.

lkillgore commented 6 years ago

Hi @sawpresto, this issue is fixed in this PR: https://github.com/Microsoft/vsts-tasks/pull/6289.

Also, we are doing a hotfix release, which should be rolled out with changes to M129. I don't know when your account will receive the fix (we do staged rollouts, and I don't know where your account lies in the rollout schedule).

If you want the fix now, you can update the task on your own account as described here: https://github.com/Microsoft/vsts-tasks/blob/master/docs/contribute.md, and here: https://github.com/Microsoft/tfs-cli/blob/master/docs/buildtasks.md (specifically, you're looking to 'upload' a task.)

sawpresto commented 6 years ago

Great, thanks, @lkillgore!

madhurig commented 6 years ago

@sawpresto: Can you let us know if the issue is resolved for you? We issued a hotfix last week.

madhurig commented 6 years ago

Closing since this issue has been fixed and deployed. Let us know if you still see issues.