bigcommerce / stencil-cli

BigCommerce Stencil emulator for local theme development
https://developer.bigcommerce.com/stencil-docs
BSD 4-Clause "Original" or "Old" License
101 stars 141 forks source link

Getting a JobCompletionStatusCheckError: Job Failed #790

Open ThinkByDesign opened 3 years ago

ThinkByDesign commented 3 years ago

Expected behavior

Most of the time when I upload my client's theme, it finishes processing, uploads the theme, asks to delete old ones as needed, and then asks whether I want to make the new theme active.

Actual behavior

Once it finishes bundling the theme, it tries to upload. Sometimes it will get some percentage of the way through (sometimes 0%, but also 73%, or 86%), and then returns

not ok -- JobCompletionStatusCheckError: Job Failed

The fact that it's failing at different percentage points suggests to me that it's a problem on BigCommerce's end, but I've tried it several times over the course of a couple of hours with the same results, and since the error gives no indication whatsoever of what might actually be wrong, I'm somewhat at a loss.

Steps to reproduce behavior

Stencil push

I think the last time I made an update was maybe a week ago - no issues.

Environment

Stencil-cli version stencil --version: 3.5.0

Node version node -v: v12.22.6

NPM version npm -v: 6.14.15

OS: MacOS 11.6

monty33B commented 3 years ago

Similarly, attempting theme upload and activation is failing. Though in my case it appears as though the upload completes as it can be manually activated in the BigCommerce admin.

Expected behaviour

For the theme to be upload and activated

Actual behaviour

The theme bundle uploads, but does not activate. No error code is provided.

ok -- Theme Upload Finished

not ok -- JobCompletionStatusCheckError: Job Failed
Please visit the troubleshooting page https://developer.bigcommerce.com/stencil-docs/deploying-a-theme/troubleshooting-theme-uploads.
If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.

Steps to reproduce behaviour

stencil push -a version-name -d

Environment

Stencil-cli version: @bigcommerce/stencil-cli@3.6.2

Node version: 12

ThinkByDesign commented 3 years ago

If it's failing at different points, you might just keep trying periodically. Mine finally went through, which confirms my suspicion that it had nothing to do with anything on my end - literally no change to code, versions, packaging, etc. Like, at all. Didn't fiddle a single bit.

Technically, I suppose I could close it, but to be honest it would be REALLY helpful if there were a more helpful error. At the very least, let me know that "It's not you. It's me." so I don't spend a lot of time researching and trying to debug.

Bobspadger commented 3 years ago

I had this issue the other day - it was due to schema.json being too long (max 65536 chars when minified)

If you have added to schema.json check the character count.

I've added this into my gitlab pipeline to check:

#!/bin/sh

max_length=65536
current_length=`jq -c . < schema.json | wc -c`
echo $current_length

if [ $current_length -gt $max_length ];
  then
    echo "schema.json has too many characters - max_length is $max_length current_length is $current_length"
    exit 1
  else
    echo "Current length is $current_length and ok!"
    exit 0
fi

the important line is:

jq -c . < schema.json | wc -c

This uses jq to compress the json file starting from the root node . then pipes the output through wc to get a character count.

Bigcommerce do the compression then insert it into a db field of max length 65536

Hope this help :)

stephbumperactive commented 3 years ago

hey! this happened to me and i just created new API's then kept trying over and over. it eventually went through. maybe restart your computer will help too! @ThinkByDesign hope you can fix it!