I am trying to automate the packing and releasifying of a WPF application. All is well when I manually perform the packing and Squirrel tasks through CMD, however, as soon as the build server takes over, Squirrel is returning a bad error code, with no hint as to why.
I am using Bamboo, the only error message I have comes in the form of:
Failing task since return code of [C:\bamboo-home\temp\HUB-REL-JOB1-37-ScriptBuildTask-7397555972211759263.bat] was -1 while expected 0
When the server executes -releasify, the release directory is created and two files are present: the packed Nuget file and the -full.nupkg package, presumably created by Squirrel. No .msi, RELEASES or other files are created.
The Nuget package is properly created, I have opened the archive to check its contents. Furthermore, once I run -releasify manually, everything _just works_.
C:\bamboo-home\xml-data\build-dir\HUB-REL-JOB1>"C:\nuget.exe" pack "MyProject\.nuspec"
build 03-Jun-2018 11:08:28 Attempting to build package from '.nuspec'.
build 03-Jun-2018 11:08:31 Successfully created package 'C:\bamboo-home\xml-data\build-dir\HUB-REL-JOB1\TotalRen.Hub.1.0.6.nupkg'.
simple 03-Jun-2018 11:08:31 Finished task 'Pack with Nuget' with result: Success
simple 03-Jun-2018 11:08:31 Starting task 'Pack with Squirrel' of type Script
build 03-Jun-2018 11:08:31 C:\bamboo-home\xml-data\build-dir\HUB-REL-JOB1>"packages\squirrel.windows.1.8.0\tools\Squirrel.exe" -releasify="MyPackage.1.0.6.nupkg"
I've been clutching at straws, wondering if the console is prematurely exited, so added a delay, which didn't help.
Is there some way of getting a more verbose log or some other place I could look to see why it's failing?
Have a look at the log file:
https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/faq.md#packaging
Ah, much appreciated. Apologies for missing that.
2018-06-03 11:08:33> Utility: Failed to extract file C:\bamboo-home\xml-data\build-dir\HUB-REL-JOB1\Releases\MyPackage-1.0.6-full.nupkg to C:\Windows\system32\config\systemprofile\AppData\Local\SquirrelTemp\tempa
Am I right to assume I need to explicitly define the output or is this a permission issue?
I don't believe there's a setting to change that internal temp path Squirrel uses. Normally it would write into the current Windows user's %localappdata%/SquirrelTemp folder, which we can see above, but in your environment that one lives inside of system32 which is most likely indeed a permission issue...
This is where my knowledge ends 馃槵
Looks like I found the issue, #1081
Appreciate your quick response. I'll close the issue :)
Most helpful comment
Have a look at the log file:
https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/faq.md#packaging