Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Pushing to butler indicates no problem but appears to silently fail

A topic by Emerassi created Sep 22, 2019 Views: 736 Replies: 3
Viewing posts 1 to 4
(1 edit)

Here's the command I enter.  It looks like it does start some kind of processing but then eventually abandons it for some reason.  I don't know how to diagnose the issue either as there appears to be no error message.


PS C:\Users\Zephyr\Desktop> butler push "C:\Users\Zephyr\source\repos\Eat Grow Evolve.zip" emerassi/eat-grow-evolve:windows-alpha
∙ For channel `windows-alpha`: last build is 196238, downloading its signature
∙ Pushing 67.67 MiB (173 files, 14 dirs, 0 symlinks)
√ Re-used 99.23% of old, added 535.56 KiB fresh data
√ 193.89 KiB patch (99.72% savings)
∙ Build is now processing, should be up in a bit.

Use the `butler status emerassi/eat-grow-evolve:windows-alpha` for more information.

PS C:\Users\Zephyr\Desktop> butler status emerassi/eat-grow-evolve:windows-alpha
+---------------+----------+--------------------------+---------+
|    CHANNEL    |  UPLOAD  |          BUILD           | VERSION |
+---------------+----------+--------------------------+---------+
| windows-alpha | #1664703 | √ #196238                |       1 |
|               |          | ∙ #196332 (from #196238) |         |
+---------------+----------+--------------------------+---------+
PS C:\Users\Zephyr\Desktop> butler status emerassi/eat-grow-evolve:windows-alpha
+---------------+----------+-----------+---------+
|    CHANNEL    |  UPLOAD  |   BUILD   | VERSION |
+---------------+----------+-----------+---------+
| windows-alpha | #1664703 | √ #196238 |       1 |
+---------------+----------+-----------+---------+

In addition, I do get a notification from itch that I have a problem with this notification:

2 builds for Eat, Grow, Evolve failed to process 4m

But that also doesn't have any details or anything actionable.  What can I do to get butler pushing working again? Thanks!

(1 edit) (+1)

Hi, the issue is that the first zip you pushed was broken, but in a way that I'm seeing for the first time and that butler does not check for.

In particular, it contains both a file and a directory for some paths, like `MonoBleedingEdge` and `MonoBleedingEdge/etc`:


This, of course, makes no sense, and causes problems for butler's backend, but also, Windows' built-in compressed folders tool:


And 7-zip:


(Just to show that it's not *just* butler's backend and it really is a broken zip).


To resolve the problem, I'd like you to:

  • Tell me what tool you used to make "Eat Grow Evolve.zip" in the first place, so that my curiosity is satisfied and I can tell others to stay far away from it
  • Push the "Eat Grow Evolve Standalone" folder directly, without making a .zip first

Pushing a .zip with butler is allowed for convenience, but it saves no time at all - in fact, it wastes time, because butler has to decompress the .zip while uploading. (Compression is done once while uploading, and once again in the backend - so the compression done locally to create the zip file is always thrown away. This is necessary because butler needs to work on uncompressed files for diffing/patching to work well).

Edit: as for the current upload, you may as well delete it. Since the canonical .zip file for the previous build is invalid, no matter how you push to that channel, it'll fail to apply. It will also fail to install/extract for anyone in its current form. I'll add a check to try and detect this particular kind of problem when pushing .zip files.

(+2)

I've implemented a check for this particular error in butler, I'll deploy it soon:

(+1)

So I can't remember which tool I used to compress that but I can narrow it down to 2 possibilities.  I either had not yet included zipping as part of my build automation yet, in which case I right clicked the folder and went to Send To -> Compressed File on Windows 10 (Version 1903 OS Build 18362.356).  Or I had already automated compression as part of my build process and the command was Powershell's Compress-Archive run with no options (version 5.1.18362.145 Desktop edition).  I think the second option is slightly more likely.

It probably won't come as a surprise to you that I read the minimum amount of butler's documentation to get to the point where I figured out how to make the upload happen, so I may have just missed this next thing.  I didn't realize that it was possible to push a folder instead of a .zip until you mentioned it in your response, since that's the opposite paradigm of how the manual uploads work.  I really like that you do explicitly call this exact thing out in your error message for if someone does try to push a terrible zip file so they can stop!  There may be other places you want to make that more obvious as well if that's a common error and not just a thing that I missed.

I deleted my old upload and was able to do a successful push using the folder.  Thanks for your help!