gatsbyjs / gatsby

The best React-based framework with performance, scalability and security built in.
https://www.gatsbyjs.com
MIT License
55.22k stars 10.32k forks source link

Netlify fails to create file nodes with remote images #25617

Closed Mayeul-T closed 3 years ago

Mayeul-T commented 4 years ago

Summary

Hi, I've a bug to deploy my Gatsby on Netlify. All works locally but I have this log on Netlify:

12:19:34 PM: Build ready to start
12:19:36 PM: build-image version: 3031d4c9e432fd7016f6279fc9ad706f9205d845
12:19:36 PM: build-image tag: v3.3.17
12:19:36 PM: buildbot version: 1f35b3abd6e2bf5230d8edf68072840fdec1513f
12:19:36 PM: Fetching cached dependencies
12:19:36 PM: Failed to fetch cache, continuing with build
12:19:36 PM: Starting to prepare the repo for build
12:19:36 PM: No cached dependencies found. Cloning fresh repo
12:19:36 PM: git clone https://github.com/Les-Coulisses/billetterie
12:19:37 PM: Preparing Git Reference refs/heads/master
12:19:38 PM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'public' versus 'public/' in the Netlify UI
12:19:38 PM: Starting build script
12:19:38 PM: Installing dependencies
12:19:38 PM: Python version set to 2.7
12:19:39 PM: v12.18.0 is already installed.
12:19:40 PM: Now using node v12.18.0 (npm v6.14.4)
12:19:40 PM: Started restoring cached build plugins
12:19:40 PM: Finished restoring cached build plugins
12:19:40 PM: Attempting ruby version 2.7.1, read from environment
12:19:41 PM: Using ruby version 2.7.1
12:19:42 PM: Using PHP version 5.6
12:19:42 PM: 5.2 is already installed.
12:19:42 PM: Using Swift version 5.2
12:19:42 PM: Started restoring cached node modules
12:19:42 PM: Finished restoring cached node modules
12:19:42 PM: Installing NPM modules using NPM version 6.14.4
12:19:47 PM: npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
12:19:49 PM: npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
12:19:51 PM: npm WARN deprecated joi@11.4.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
12:19:51 PM: npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
12:19:53 PM: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
12:19:58 PM: npm WARN deprecated hoek@4.2.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
12:19:58 PM: npm WARN deprecated topo@2.0.2: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
12:19:59 PM: npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
12:20:01 PM: npm WARN deprecated graphql-import@0.7.1: GraphQL Import has been deprecated and merged into GraphQL Tools, so it will no longer get updates. Use GraphQL Tools instead to stay up-to-date! Check out https://www.graphql-tools.com/docs/migration-from-import for migration and https://the-guild.dev/blog/graphql-tools-v6 for new changes.
12:20:03 PM: npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
12:20:03 PM: npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
12:20:07 PM: npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
12:21:12 PM: > sharp@0.25.4 install /opt/build/repo/node_modules/sharp
12:21:12 PM: > (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
12:21:12 PM: info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
12:21:14 PM: > websocket@1.0.31 install /opt/build/repo/node_modules/websocket
12:21:14 PM: > (node-gyp rebuild 2> builderror.log) || (exit 0)
12:21:15 PM: make: Entering directory '/opt/build/repo/node_modules/websocket/build'
12:21:15 PM:   CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
12:21:16 PM:   SOLINK_MODULE(target) Release/obj.target/bufferutil.node
12:21:16 PM:   COPY Release/bufferutil.node
12:21:16 PM:   CXX(target) Release/obj.target/validation/src/validation.o
12:21:17 PM:   SOLINK_MODULE(target) Release/obj.target/validation.node
12:21:17 PM:   COPY Release/validation.node
12:21:17 PM: make: Leaving directory '/opt/build/repo/node_modules/websocket/build'
12:21:17 PM: > node-sass@4.14.1 install /opt/build/repo/node_modules/node-sass
12:21:17 PM: > node scripts/install.js
12:21:18 PM: Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-72_binding.node
12:21:18 PM: Download complete
12:21:18 PM: Binary saved to /opt/build/repo/node_modules/node-sass/vendor/linux-x64-72/binding.node
12:21:18 PM: Caching binary to /opt/buildhome/.npm/node-sass/4.14.1/linux-x64-72_binding.node
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/bmp/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/core/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/custom/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/gif/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/jpeg/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-blit/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-blur/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:19 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-circle/node_modules/core-js
12:21:19 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-color/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-contain/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-cover/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-crop/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-displace/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-dither/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-fisheye/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-flip/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:20 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-gaussian/node_modules/core-js
12:21:20 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-invert/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-mask/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-normalize/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-print/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-resize/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-rotate/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-scale/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:21 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-shadow/node_modules/core-js
12:21:21 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-threshold/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugins/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/png/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/tiff/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/types/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/utils/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:22 PM: > core-js@2.6.11 postinstall /opt/build/repo/node_modules/core-js
12:21:22 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:23 PM: > core-js-pure@3.6.5 postinstall /opt/build/repo/node_modules/core-js-pure
12:21:23 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:23 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/jimp/node_modules/core-js
12:21:23 PM: > node -e "try{require('./postinstall')}catch(e){}"
12:21:25 PM: > gatsby-telemetry@1.3.14 postinstall /opt/build/repo/node_modules/gatsby-telemetry
12:21:25 PM: > node src/postinstall.js || true
12:21:25 PM: > cwebp-bin@5.1.0 postinstall /opt/build/repo/node_modules/cwebp-bin
12:21:25 PM: > node lib/install.js
12:21:25 PM:   ✔ cwebp pre-build test passed successfully
12:21:25 PM: > mozjpeg@6.0.1 postinstall /opt/build/repo/node_modules/mozjpeg
12:21:25 PM: > node lib/install.js
12:21:26 PM:   ✔ mozjpeg pre-build test passed successfully
12:21:26 PM: > pngquant-bin@5.0.2 postinstall /opt/build/repo/node_modules/pngquant-bin
12:21:26 PM: > node lib/install.js
12:21:26 PM:   ✔ pngquant pre-build test passed successfully
12:21:26 PM: > gatsby-cli@2.12.51 postinstall /opt/build/repo/node_modules/gatsby/node_modules/gatsby-cli
12:21:26 PM: > node scripts/postinstall.js
12:21:27 PM: > gatsby@2.23.11 postinstall /opt/build/repo/node_modules/gatsby
12:21:27 PM: > node scripts/postinstall.js
12:21:27 PM: > node-sass@4.14.1 postinstall /opt/build/repo/node_modules/node-sass
12:21:27 PM: > node scripts/build.js
12:21:27 PM: Binary found at /opt/build/repo/node_modules/node-sass/vendor/linux-x64-72/binding.node
12:21:27 PM: Testing binary
12:21:27 PM: Binary is fine
12:21:29 PM: npm notice created a lockfile as package-lock.json. You should commit this file.
12:21:29 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/babel-plugin-add-module-exports/node_modules/chokidar/node_modules/fsevents):
12:21:29 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
12:21:29 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
12:21:29 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
12:21:29 PM: npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {"node":"<8.10.0"} (current: {"node":"12.18.0","npm":"6.14.4"})
12:21:29 PM: npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0
12:21:29 PM: npm WARN bootstrap@4.5.0 requires a peer of jquery@1.9.1 - 3 but none is installed. You must install peer dependencies yourself.
12:21:29 PM: npm WARN bootstrap@4.5.0 requires a peer of popper.js@^1.16.0 but none is installed. You must install peer dependencies yourself.
12:21:29 PM: npm WARN rc-picker@1.6.4 requires a peer of dayjs@^1.8.18 but none is installed. You must install peer dependencies yourself.
12:21:29 PM: npm WARN @pmmmwh/react-refresh-webpack-plugin@0.3.3 requires a peer of react-refresh@^0.8.2 but none is installed. You must install peer dependencies yourself.
12:21:29 PM: npm WARN tsutils@3.17.1 requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
12:21:29 PM: npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
12:21:29 PM: added 2867 packages from 1552 contributors and audited 2876 packages in 106.727s
12:21:31 PM: 151 packages are looking for funding
12:21:31 PM:   run `npm fund` for details
12:21:31 PM: found 1 low severity vulnerability
12:21:31 PM:   run `npm audit fix` to fix them, or `npm audit` for details
12:21:31 PM: NPM modules installed
12:21:32 PM: Started restoring cached go cache
12:21:32 PM: Finished restoring cached go cache
12:21:32 PM: go version go1.14.4 linux/amd64
12:21:32 PM: go version go1.14.4 linux/amd64
12:21:32 PM: Installing missing commands
12:21:32 PM: Verify run directory
12:21:33 PM: ​
12:21:33 PM: ┌─────────────────────────────┐
12:21:33 PM: │        Netlify Build        │
12:21:33 PM: └─────────────────────────────┘
12:21:33 PM: ​
12:21:33 PM: ❯ Version
12:21:33 PM:   @netlify/build 2.0.10
12:21:33 PM: ​
12:21:33 PM: ❯ Flags
12:21:33 PM:   deployId: 5ef71d3610c32f0ee327446f
12:21:33 PM:   mode: buildbot
12:21:33 PM: ​
12:21:33 PM: ❯ Current directory
12:21:33 PM:   /opt/build/repo
12:21:33 PM: ​
12:21:33 PM: ❯ Config file
12:21:33 PM:   No config file was defined: using default values.
12:21:33 PM: ​
12:21:33 PM: ❯ Context
12:21:33 PM:   production
12:21:33 PM: ​
12:21:33 PM: ┌────────────────────────────────┐
12:21:33 PM: │ 1. Build command from settings │
12:21:33 PM: └────────────────────────────────┘
12:21:33 PM: ​
12:21:33 PM: $ gatsby build
12:21:36 PM: success open and validate gatsby-configs - 0.026s
12:21:37 PM: success load plugins - 1.122s
12:21:37 PM: success onPreInit - 0.012s
12:21:37 PM: success delete html and css files from previous builds - 0.012s
12:21:37 PM: success initialize cache - 0.007s
12:21:37 PM: success copy gatsby files - 0.027s
12:21:37 PM: success onPreBootstrap - 0.008s
12:21:37 PM: success createSchemaCustomization - 0.022s
12:21:38 PM: success source and transform nodes - 0.700s
12:21:38 PM: success building schema - 0.422s
12:21:38 PM: success createPages - 0.039s
12:21:38 PM: success createPagesStatefully - 0.079s
12:21:38 PM: success updating schema - 0.039s
12:21:38 PM: success onPreExtractQueries - 0.001s
12:21:39 PM: success extract queries from components - 0.866s
12:21:39 PM: success write out redirect data - 0.004s
12:21:40 PM: success Build manifest and related icons - 0.289s
12:21:40 PM: success onPostBootstrap - 0.290s
12:21:40 PM: info bootstrap finished - 6.751s
12:21:40 PM: success run static queries - 0.353s - 3/3 8.50/s
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined arsene-lupin
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined la-station-champbaudet
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined limparfait-du-subjectif
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined les-patted-de-mouche
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined test2
12:21:40 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show undefined 64-test2
12:21:40 PM: info charge cover a2bd061b-0a29-5a67-8a71-00e6c5b24600 for show undefined tailleur-pour-dames
12:21:40 PM: info charge cover 064528de-9e36-5915-8498-4d82c7f74068 for show undefined mon-ismenie
12:21:40 PM: info charge cover 9560783d-68ab-5f79-99ca-432acb6007d9 for show undefined mauvaise-troupe
12:21:41 PM: success run page queries - 1.277s - 12/12 9.40/s
12:21:41 PM: success write out requires - 0.004s
12:22:11 PM: success Building production JavaScript and CSS bundles - 30.065s
12:22:11 PM: success Rewriting compilation hashes - 0.002s
12:22:16 PM: failed Building static HTML for pages - 4.945s
12:22:16 PM: error Building static HTML failed for path "/mauvaise-troupe"
12:22:16 PM: 
12:22:16 PM: 
12:22:16 PM:   WebpackError: TypeError: Cannot read property 'childImageSharp' of null
12:22:16 PM:   
12:22:16 PM:   - build-html.js:107 doBuildPages
12:22:16 PM:     [repo]/[gatsby]/dist/commands/build-html.js:107:24
12:22:16 PM:   
12:22:16 PM:   - build-html.js:121 async buildHTML
12:22:16 PM:     [repo]/[gatsby]/dist/commands/build-html.js:121:3
12:22:16 PM:   
12:22:16 PM:   - build.js:219 async build
12:22:16 PM:     [repo]/[gatsby]/dist/commands/build.js:219:5
12:22:16 PM:   
12:22:16 PM: 
12:22:16 PM: not finished Generating image thumbnails - 36.850s
12:22:17 PM: ​
12:22:17 PM: ┌─────────────────────────────┐
12:22:17 PM: │   "build.command" failed    │
12:22:17 PM: └─────────────────────────────┘
12:22:17 PM: ​
12:22:17 PM:   Error message
12:22:17 PM:   Command failed with exit code 1: gatsby build
12:22:17 PM: ​
12:22:17 PM:   Error location
12:22:17 PM:   In Build command from settings:
12:22:17 PM:   gatsby build
12:22:17 PM: ​
12:22:17 PM:   Resolved config
12:22:17 PM:   build:
12:22:17 PM:     command: gatsby build
12:22:17 PM:     publish: /opt/build/repo/public
12:22:17 PM: Caching artifacts
12:22:17 PM: Started saving node modules
12:22:17 PM: Finished saving node modules
12:22:17 PM: Started saving build plugins
12:22:17 PM: Finished saving build plugins
12:22:17 PM: Started saving pip cache
12:22:23 PM: Finished saving pip cache
12:22:23 PM: Started saving emacs cask dependencies
12:22:23 PM: Finished saving emacs cask dependencies
12:22:23 PM: Started saving maven dependencies
12:22:23 PM: Finished saving maven dependencies
12:22:23 PM: Started saving boot dependencies
12:22:23 PM: Finished saving boot dependencies
12:22:23 PM: Started saving go dependencies
12:22:23 PM: Finished saving go dependencies
12:22:26 PM: Error running command: Build script returned non-zero exit code: 1
12:22:26 PM: Failing build: Failed to build site
12:22:26 PM: Failed during stage 'building site': Build script returned non-zero exit code: 1
12:22:26 PM: Finished processing build request in 2m50.279971179s

Relevant information

Environment (if relevant)

File contents (if changed)

gatsby-config.js:

const API_URL = 'api-url';
module.exports = {
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: 'gatsby-plugin-page-creator',
      options: {
        path: `${__dirname}/src/pages`
      }
    },
    {
      resolve: 'gatsby-plugin-sass',
      options: {
        precision: 8
      }
    },
    'gatsby-transformer-sharp',
    'gatsby-plugin-sharp',
    {
      resolve: 'gatsby-plugin-manifest',
      options: {
        name: 'Potimarrants',
        short_name: 'Poti',
        start_url: '/',
        background_color: '#ffffff',
        theme_color: '#663399',
        display: 'minimal-ui',
        icon: `${__dirname}/src/images/favicon.png`
      }
    },
    {
      resolve: 'gatsby-source-filesystem',
      options: {
        path: `${__dirname}/src/images/`,
        name: 'images'
      }
    },
    {
      resolve: 'gatsby-source-apiserver',
      options: {
        url: `${API_URL}/gatsby`,
        method: 'get',
        headers: {
          'Content-Type': 'application/json'
        },
        typePrefix: 'internal__',
        name: 'accounts',
        verboseOutput: true
      }
    }
  ]
};

package.json:

{
  "private": true,
  "version": "0.0.1",
  "main": "gatsby-config.js",
  "dependencies": {
    "@material-ui/core": "^4.9.14",
    "@material-ui/icons": "^4.9.1",
    "animejs": "^3.0.1",
    "antd": "^4.0.4",
    "bootstrap": "^4.5.0",
    "dotenv": "^8.2.0",
    "gatsby": "^2.13.6",
    "gatsby-image": "^2.2.4",
    "gatsby-plugin-manifest": "^2.2.1",
    "gatsby-plugin-offline": "^2.2.1",
    "gatsby-plugin-page-creator": "^2.1.2",
    "gatsby-plugin-react-helmet": "^3.1.0",
    "gatsby-plugin-sass": "^2.1.0",
    "gatsby-plugin-sharp": "^2.2.3",
    "gatsby-source-apiserver": "^2.1.4",
    "gatsby-source-filesystem": "^2.1.2",
    "gatsby-source-prismic-graphql": "^3.3.1",
    "gatsby-transformer-sharp": "^2.2.1",
    "jest": "^24.9.0",
    "node-sass": "^4.12.0",
    "prismic-reactjs": "^1.1.2",
    "prop-types": "^15.7.2",
    "react": "^16.13.1",
    "react-bootstrap": "^1.0.1",
    "react-dom": "^16.8.6",
    "react-helmet": "^5.2.1"
  },
  "devDependencies": {
    "eslint": "^6.8.0",
    "eslint-config-airbnb": "^18.1.0",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-jsx-a11y": "^6.2.3",
    "eslint-plugin-react": "^7.20.0",
    "eslint-plugin-react-hooks": "^2.5.1",
    "prettier": "^1.18.2"
  },
  "keywords": [
    "gatsby",
    "gatsby-theme"
  ],
  "license": "MIT",
  "scripts": {
    "build": "gatsby build",
    "predevelop": "gatsby clean",
    "develop": "gatsby develop",
    "format": "prettier --write src/**/*.{js,jsx}",
    "lint": "eslint .",
    "start": "npm run develop",
    "serve": "gatsby serve",
    "test": "jest src/"
  },
  "jest": {
    "verbose": true
  }
}

gatsby-node.js:

const { createRemoteFileNode } = require('gatsby-source-filesystem');
const path = require('path');

exports.createSchemaCustomization = ({ actions }) => {
  const { createTypes } = actions;
  createTypes(`
    type Show {
      id: String
      slug: String
      title: String
      cover: String
      featuredCover: File @link(from: "featuredImg___NODE")
    }
    type OptionsFile {
      id: String
      name: String
      url: String!
      img___NODE: File @link(from: "img___NODE")
    }
    type Options {
      files: [OptionsFile]
    }
    type Element {
      id: String
      position: String
      type: String
      options: Options
      alternative_children: [Element]
    }
    type Structure {
      homPage: Element
      showPage: Element
    }
    type internal__accounts implements Node {
      id: String
      shows: [Show]
      structure: Structure
    }
  `);
};

const createImgFluidNode = async (
  file,
  store,
  cache,
  createNode,
  createNodeId
) => {
  const fluidNode = await createRemoteFileNode({
    url: file.url,
    parentNodeId: file.id,
    createNode,
    createNodeId,
    cache,
    store
  });

  return fluidNode.id;
};

const createImgFluidElement = async (
  element,
  createNode,
  store,
  cache,
  createNodeId
) => {
  if (Array.isArray(element.options.files)) {
    element.options.files.forEach(async (file, index) => {
      const fileNodeId = await createImgFluidNode(
        file,
        store,
        cache,
        createNode,
        createNodeId
      );
      // if the file was created, attach the new node to the parent node
      if (fileNodeId) {
        // eslint-disable-next-line no-param-reassign
        element.options.files[index].img___NODE = fileNodeId;
        // eslint-disable-next-line no-console
        console.info(`charge file ${file.url} in node ${fileNodeId}`);
      }
    });
  }

  if (Array.isArray(element.alternative_children)) {
    element.alternative_children.forEach(async child => {
      await createImgFluidElement(
        child,
        createNode,
        store,
        cache,
        createNodeId
      );
    });
  }

  return element;
};

const createImgFluidShow = async (
  show,
  store,
  cache,
  createNode,
  createNodeId
) => {
  const fileNodeId = createImgFluidNode(
    { url: show.cover, id: show.id },
    store,
    cache,
    createNode,
    createNodeId
  );

  return fileNodeId;
};

exports.onCreateNode = async ({
  node,
  actions: { createNode },
  store,
  cache,
  createNodeId
}) => {
  const nodeClone = node;
  // For all MarkdownRemark nodes that have a featured image url, call createRemoteFileNode
  if (
    nodeClone.id !== 'dummy' &&
    nodeClone.internal.type === 'internal__accounts'
  ) {
    const shows = nodeClone.shows.filter(
      show => show.cover !== null || show.cover !== undefined
    );
    shows.forEach(async (show, index) => {
      const fileNodeId = await createImgFluidShow(
        show,
        store,
        cache,
        createNode,
        createNodeId
      );
      // if the file was created, attach the new node to the parent node
      if (fileNodeId) {
        // eslint-disable-next-line no-param-reassign
        nodeClone.shows[index].featuredImg___NODE = fileNodeId;

        // eslint-disable-next-line no-console
        console.info(
          `charge cover ${fileNodeId} for show ${show.id} ${show.slug}`
        );
      }
    });

    if (
      nodeClone.structure !== undefined &&
      nodeClone.structure.homePage !== undefined
    ) {
      nodeClone.structure.homePage = await createImgFluidElement(
        nodeClone.structure.homePage,
        createNode,
        store,
        cache,
        createNodeId
      );
    }
  }
};

exports.createPages = ({ graphql, actions }) => {
  const { createPage } = actions;
  const showPage = path.resolve('./src/templates/ShowPage.tsx');
  return graphql(
    `
      {
        allInternalAccounts(filter: { id: { ne: "dummy" } }) {
          edges {
            node {
              id
              shows {
                title
                slug
              }
            }
          }
        }
      }
    `
  ).then(result => {
    if (result.errors) {
      throw result.errors;
    } else {
      const accounts = result.data.allInternalAccounts.edges;
      accounts.forEach(account => {
        const pages = account.node.shows;
        pages.forEach(page => {
          if (page.slug) {
            createPage({
              path: `/${page.slug}`,
              component: showPage,
              context: {
                title: page.title,
                slug: page.slug,
                accountId: account.node.id
              }
            });
          }
        });
      });
    }
    return null;
  });
};

gatsby-browser.js: N/A gatsby-ssr.js: N/A

graysonhicks commented 4 years ago

For clarity, this is the error failing the build:

12:22:16 PM: error Building static HTML failed for path "/mauvaise-troupe" 12:22:16 PM: WebpackError: TypeError: Cannot read property 'childImageSharp' of null That error can come from several things.

  • What kind of images are they? If it is a GIF, it will not create the childImageSharp.
  • Are some of the fields empty? ie Is it possible for a node to not have an image? If an image is ever missing, then there may be a problem with how createTypes is defined and Gatsby can't infer the types when it is null.
  • Looks like your show.id is logging undefined. Is that a problem on your end? That could be preventing the node from being created correctly.

Do you think you could format and remove some of the code you pasted above and/or link to a repo where someone could try it locally? It is difficult to debug as it is and that would be helpful. Thanks!

Mayeul-T commented 4 years ago

Hello,

I give you a link asap

freiksenet commented 4 years ago

@Mayeul-T Are you still experiencing a problem? A minimal reproduction or link to your project would be super helpful with debugging this.

Mayeul-T commented 4 years ago

Hello. There is no problem if you run the project on your computer. The problem is on netlify server. https://github.com/Les-Coulisses/billetterie

Mayeul-T commented 4 years ago

You have to use this branch: fix/bug-in-modal-before-apply-chartre

ascorbic commented 4 years ago

That branch seems to have a lot more logging that your original example. Can you post the logs? Thanks.

Mayeul-T commented 4 years ago
4:46:46 PM: Waiting for other deploys from your team to complete
4:47:58 PM: Build ready to start
4:48:00 PM: build-image version: 9d79ad851d6eff3969322d6e5b1df3d597650c41
4:48:00 PM: build-image tag: v3.3.19
4:48:00 PM: buildbot version: 2cc7ea668a3e8f63326d15aab17e62cd1997fa2e
4:48:00 PM: Fetching cached dependencies
4:48:00 PM: Starting to download cache of 174.7MB
4:48:01 PM: Finished downloading cache in 1.173637339s
4:48:01 PM: Starting to extract cache
4:48:13 PM: Finished extracting cache in 11.75487121s
4:48:13 PM: Finished fetching cache in 12.967761102s
4:48:13 PM: Starting to prepare the repo for build
4:48:14 PM: Preparing Git Reference pull/8/head
4:48:18 PM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'public' versus 'public/' in the Netlify UI
4:48:18 PM: Starting build script
4:48:18 PM: Installing dependencies
4:48:18 PM: Python version set to 2.7
4:48:19 PM: Started restoring cached node version
4:48:21 PM: Finished restoring cached node version
4:48:22 PM: v12.18.0 is already installed.
4:48:22 PM: Now using node v12.18.0 (npm v6.14.4)
4:48:22 PM: Started restoring cached build plugins
4:48:22 PM: Finished restoring cached build plugins
4:48:22 PM: Attempting ruby version 2.7.1, read from environment
4:48:23 PM: Using ruby version 2.7.1
4:48:24 PM: Using PHP version 5.6
4:48:24 PM: 5.2 is already installed.
4:48:24 PM: Using Swift version 5.2
4:48:24 PM: Started restoring cached node modules
4:48:24 PM: Finished restoring cached node modules
4:48:24 PM: Started restoring cached go cache
4:48:24 PM: Finished restoring cached go cache
4:48:24 PM: go version go1.14.4 linux/amd64
4:48:24 PM: go version go1.14.4 linux/amd64
4:48:24 PM: Installing missing commands
4:48:24 PM: Verify run directory
4:48:25 PM: ​
4:48:25 PM: ┌─────────────────────────────┐
4:48:25 PM: │        Netlify Build        │
4:48:25 PM: └─────────────────────────────┘
4:48:25 PM: ​
4:48:25 PM: ❯ Version
4:48:25 PM:   @netlify/build 2.0.25
4:48:25 PM: ​
4:48:25 PM: ❯ Flags
4:48:25 PM:   deployId: 5f0096561b14eb00085af8ff
4:48:25 PM:   mode: buildbot
4:48:25 PM: ​
4:48:25 PM: ❯ Current directory
4:48:25 PM:   /opt/build/repo
4:48:25 PM: ​
4:48:25 PM: ❯ Config file
4:48:25 PM:   No config file was defined: using default values.
4:48:25 PM: ​
4:48:25 PM: ❯ Context
4:48:25 PM:   deploy-preview
4:48:25 PM: ​
4:48:25 PM: ┌───────────────────────────────────┐
4:48:25 PM: │ 1. Build command from Netlify app │
4:48:25 PM: └───────────────────────────────────┘
4:48:25 PM: ​
4:48:25 PM: $ gatsby build
4:48:28 PM: success open and validate gatsby-configs - 0.026s
4:48:29 PM: success load plugins - 1.042s
4:48:29 PM: success onPreInit - 0.008s
4:48:29 PM: success delete html and css files from previous builds - 0.011s
4:48:29 PM: success initialize cache - 0.008s
4:48:29 PM: success copy gatsby files - 0.038s
4:48:29 PM: success onPreBootstrap - 0.007s
4:48:29 PM: success createSchemaCustomization - 0.009s
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/294/cover/mauvaise-troupe.jpeg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/235/tailleur-pour-dames.jpeg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/297/cover/mon-ismenie.jpeg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: info start create fluid image http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:48:30 PM: success source and transform nodes - 0.663s
4:48:30 PM: success building schema - 0.486s
4:48:30 PM: success createPages - 0.043s
4:48:30 PM: success createPagesStatefully - 0.078s
4:48:30 PM: success updating schema - 0.040s
4:48:30 PM: success onPreExtractQueries - 0.002s
4:48:31 PM: success extract queries from components - 0.665s
4:48:31 PM: success write out redirect data - 0.003s
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully arsene-lupin
4:48:31 PM: {
4:48:31 PM:   alternative_id: 4,
4:48:31 PM:   slug: 'arsene-lupin',
4:48:31 PM:   title: 'Arsène Lupin',
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 7,
4:48:31 PM:       show_id: '4',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '1',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: []
4:48:31 PM:     },
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 8,
4:48:31 PM:       show_id: '4',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '1',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: []
4:48:31 PM:     },
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 9,
4:48:31 PM:       show_id: '4',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '1',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: []
4:48:31 PM:     },
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 10,
4:48:31 PM:       show_id: '4',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '1',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: []
4:48:31 PM:     }
4:48:31 PM:   ],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully la-station-champbaudet
4:48:31 PM: {
4:48:31 PM:   alternative_id: 5,
4:48:31 PM:   slug: 'la-station-champbaudet',
4:48:31 PM:   title: 'La station Champbaudet',
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully limparfait-du-subjectif
4:48:31 PM: {
4:48:31 PM:   alternative_id: 6,
4:48:31 PM:   slug: 'limparfait-du-subjectif',
4:48:31 PM:   title: "L'imparfait du subjectif",
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully les-patted-de-mouche
4:48:31 PM: {
4:48:31 PM:   alternative_id: 53,
4:48:31 PM:   slug: 'les-patted-de-mouche',
4:48:31 PM:   title: 'Les pattes de mouche',
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 25,
4:48:31 PM:       show_id: '53',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '0',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: [Array]
4:48:31 PM:     }
4:48:31 PM:   ],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully test2
4:48:31 PM: {
4:48:31 PM:   alternative_id: 63,
4:48:31 PM:   slug: 'test2',
4:48:31 PM:   title: 'test2',
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 30,
4:48:31 PM:       show_id: '63',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '0',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: [Array]
4:48:31 PM:     }
4:48:31 PM:   ],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: info fileNode for fluid cover 007ef416-4f2a-5409-8f60-5296b94c884a created successfully 64-test2
4:48:31 PM: {
4:48:31 PM:   alternative_id: 64,
4:48:31 PM:   slug: '64-test2',
4:48:31 PM:   title: 'test2',
4:48:31 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg',
4:48:31 PM:   performances: [
4:48:31 PM:     {
4:48:31 PM:       alternative_id: 31,
4:48:31 PM:       show_id: '64',
4:48:31 PM:       date: [Object],
4:48:31 PM:       ticketing_opened: '0',
4:48:31 PM:       programmed_closing: '0',
4:48:31 PM:       datetime_closing: '',
4:48:31 PM:       programmed_opening: '0',
4:48:31 PM:       datetime_opening: '',
4:48:31 PM:       nb_places: [Object],
4:48:31 PM:       categories: [Array]
4:48:31 PM:     }
4:48:31 PM:   ],
4:48:31 PM:   featuredImg___NODE: '007ef416-4f2a-5409-8f60-5296b94c884a'
4:48:31 PM: }
4:48:31 PM: success Build manifest and related icons - 0.281s
4:48:31 PM: success onPostBootstrap - 0.283s
4:48:31 PM: info bootstrap finished - 6.168s
4:48:32 PM: info fileNode for fluid cover 064528de-9e36-5915-8498-4d82c7f74068 created successfully mon-ismenie
4:48:32 PM: {
4:48:32 PM:   alternative_id: 7,
4:48:32 PM:   slug: 'mon-ismenie',
4:48:32 PM:   title: 'Mon Isménie',
4:48:32 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/297/cover/mon-ismenie.jpeg',
4:48:32 PM:   performances: [],
4:48:32 PM:   featuredImg___NODE: '064528de-9e36-5915-8498-4d82c7f74068'
4:48:32 PM: }
4:48:32 PM: info fileNode for fluid cover 9560783d-68ab-5f79-99ca-432acb6007d9 created successfully mauvaise-troupe
4:48:32 PM: {
4:48:32 PM:   alternative_id: 2,
4:48:32 PM:   slug: 'mauvaise-troupe',
4:48:32 PM:   title: 'Mauvaise Troupe',
4:48:32 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/294/cover/mauvaise-troupe.jpeg',
4:48:32 PM:   performances: [
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 1,
4:48:32 PM:       show_id: '2',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '0',
4:48:32 PM:       programmed_closing: '0',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: [Array]
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 2,
4:48:32 PM:       show_id: '2',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: [Array]
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 3,
4:48:32 PM:       show_id: '2',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 4,
4:48:32 PM:       show_id: '2',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 5,
4:48:32 PM:       show_id: '2',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     }
4:48:32 PM:   ],
4:48:32 PM:   featuredImg___NODE: '9560783d-68ab-5f79-99ca-432acb6007d9'
4:48:32 PM: }
4:48:32 PM: info fileNode for fluid cover a2bd061b-0a29-5a67-8a71-00e6c5b24600 created successfully tailleur-pour-dames
4:48:32 PM: {
4:48:32 PM:   alternative_id: 3,
4:48:32 PM:   slug: 'tailleur-pour-dames',
4:48:32 PM:   title: 'Tailleur pour dames',
4:48:32 PM:   cover: 'http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/235/tailleur-pour-dames.jpeg',
4:48:32 PM:   performances: [
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 6,
4:48:32 PM:       show_id: '3',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 11,
4:48:32 PM:       show_id: '3',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     },
4:48:32 PM:     {
4:48:32 PM:       alternative_id: 12,
4:48:32 PM:       show_id: '3',
4:48:32 PM:       date: [Object],
4:48:32 PM:       ticketing_opened: '1',
4:48:32 PM:       programmed_closing: '1',
4:48:32 PM:       datetime_closing: '',
4:48:32 PM:       programmed_opening: '0',
4:48:32 PM:       datetime_opening: '',
4:48:32 PM:       nb_places: [Object],
4:48:32 PM:       categories: []
4:48:32 PM:     }
4:48:32 PM:   ],
4:48:32 PM:   featuredImg___NODE: 'a2bd061b-0a29-5a67-8a71-00e6c5b24600'
4:48:32 PM: }
4:48:32 PM: success run static queries - 0.470s - 3/3 6.38/s
4:48:32 PM: success run page queries - 0.570s - 12/12 21.07/s
4:48:32 PM: success write out requires - 0.003s
4:49:02 PM: success Building production JavaScript and CSS bundles - 29.981s
4:49:02 PM: success Rewriting compilation hashes - 0.002s
4:49:07 PM: { allInternalAccounts: { edges: [ [Object] ] } }
4:49:07 PM: success Building static HTML for pages - 4.873s - 12/12 2.46/s
4:49:07 PM: success Generating image thumbnails - 36.119s - 17/17 0.47/s
4:49:07 PM: success onPostBuild - 0.001s
4:49:07 PM: info Done building in 42.315345641 sec
4:49:08 PM: ​
4:49:08 PM: (build.command completed in 42.6s)
4:49:08 PM: ​
4:49:08 PM: ┌─────────────────────────────┐
4:49:08 PM: │   Netlify Build Complete    │
4:49:08 PM: └─────────────────────────────┘
4:49:08 PM: ​
4:49:08 PM: (Netlify Build completed in 42.6s)
4:49:08 PM: Caching artifacts
4:49:08 PM: Started saving node modules
4:49:08 PM: Finished saving node modules
4:49:08 PM: Started saving build plugins
4:49:08 PM: Finished saving build plugins
4:49:08 PM: Started saving pip cache
4:49:08 PM: Finished saving pip cache
4:49:08 PM: Started saving emacs cask dependencies
4:49:08 PM: Finished saving emacs cask dependencies
4:49:08 PM: Started saving maven dependencies
4:49:08 PM: Finished saving maven dependencies
4:49:08 PM: Started saving boot dependencies
4:49:08 PM: Finished saving boot dependencies
4:49:08 PM: Started saving go dependencies
4:49:08 PM: Finished saving go dependencies
4:49:08 PM: Build script success
4:49:08 PM: Starting to deploy site from 'public'
4:49:08 PM: Creating deploy tree 
4:49:08 PM: Creating deploy upload records
4:49:08 PM: 28 new files to upload
4:49:08 PM: 0 new functions to upload
4:49:09 PM: Starting post processing
4:49:09 PM: Post processing - HTML
4:49:10 PM: Post processing - redirect rules
4:49:10 PM: Post processing - header rules
4:49:11 PM: Post processing done
4:49:11 PM: Site is live
4:49:40 PM: Finished processing build request in 1m39.855168259s

There isn't error because I check if image is null on the page.

Mayeul-T commented 4 years ago

@ascorbic this is log of the last build

freiksenet commented 4 years ago

@Mayeul-T The most likely explanation is that sometimes downloads fail on Netlify. You can implement some kind of retry functionality, you also might need to implement rate limiting so that server is not overloaded. Could you provide a log where failed downolads are also logged?

github-actions[bot] commented 4 years ago

Hiya!

This issue has gone quiet. Spooky quiet. 👻

We get a lot of issues, so we currently close issues after 60 days of inactivity. It’s been at least 20 days since the last update here. If we missed this issue or if you want to keep it open, please reply here. As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing!

Thanks for being a part of the Gatsby community! 💪💜

Mayeul-T commented 4 years ago

I was very busy this last weeks. I haven't fix the bug yet but I work on it

Mayeul-T commented 4 years ago

Hey, sorry for this long silence. Here you can see new log wich can help you

deploy console on netlify

4:13:02 PM: Waiting for other deploys from your team to complete
4:15:55 PM: Build ready to start
4:16:00 PM: build-image version: b0258b965567defc4a2d7e2f2dec2e00c8f73ad6
4:16:00 PM: build-image tag: v3.4.1
4:16:00 PM: buildbot version: 8c957a6d09a03023cea4239847cc73a9cb64eeb7
4:16:01 PM: Fetching cached dependencies
4:16:01 PM: Failed to fetch cache, continuing with build
4:16:01 PM: Starting to prepare the repo for build
4:16:01 PM: No cached dependencies found. Cloning fresh repo
4:16:01 PM: git clone https://github.com/Les-Coulisses/billetterie
4:16:01 PM: Preparing Git Reference pull/39/head
4:16:03 PM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'public' versus 'public/' in the Netlify UI
4:16:03 PM: Starting build script
4:16:03 PM: Installing dependencies
4:16:03 PM: Python version set to 2.7
4:16:04 PM: Downloading and installing node v10.22.0...
4:16:04 PM: Downloading https://nodejs.org/dist/v10.22.0/node-v10.22.0-linux-x64.tar.xz...
4:16:04 PM: Computing checksum with sha256sum
4:16:05 PM: Checksums matched!
4:16:07 PM: Now using node v10.22.0 (npm v6.14.6)
4:16:07 PM: Started restoring cached build plugins
4:16:07 PM: Finished restoring cached build plugins
4:16:07 PM: Attempting ruby version 2.6.2, read from environment
4:16:09 PM: Using ruby version 2.6.2
4:16:09 PM: Using PHP version 5.6
4:16:09 PM: 5.2 is already installed.
4:16:09 PM: Using Swift version 5.2
4:16:09 PM: Started restoring cached node modules
4:16:09 PM: Finished restoring cached node modules
4:16:09 PM: Installing NPM modules using NPM version 6.14.6
4:16:15 PM: npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
4:16:16 PM: npm WARN deprecated @hapi/joi@15.1.1: joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)
4:16:19 PM: npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
4:16:19 PM: npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
4:16:20 PM: npm WARN deprecated har-validator@5.1.5: this library is no longer supported
4:16:21 PM: npm WARN deprecated @hapi/address@2.1.4: This version has been deprecated and is no longer supported or maintained
4:16:21 PM: npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
4:16:22 PM: npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
4:16:22 PM: npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
4:16:22 PM: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
4:16:26 PM: npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
4:16:34 PM: npm WARN deprecated graphql-import@0.7.1: GraphQL Import has been deprecated and merged into GraphQL Tools, so it will no longer get updates. Use GraphQL Tools instead to stay up-to-date! Check out https://www.graphql-tools.com/docs/migration-from-import for migration and https://the-guild.dev/blog/graphql-tools-v6 for new changes.
4:16:41 PM: npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
4:16:41 PM: npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
4:16:43 PM: npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
4:17:40 PM: > sharp@0.25.4 install /opt/build/repo/node_modules/sharp
4:17:40 PM: > (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
4:17:40 PM: info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
4:17:43 PM: > node-sass@4.14.1 install /opt/build/repo/node_modules/node-sass
4:17:43 PM: > node scripts/install.js
4:17:43 PM: Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-64_binding.node
4:17:44 PM: Download complete
4:17:44 PM: Binary saved to /opt/build/repo/node_modules/node-sass/vendor/linux-x64-64/binding.node
4:17:44 PM: Caching binary to /opt/buildhome/.npm/node-sass/4.14.1/linux-x64-64_binding.node
4:17:44 PM: > core-js@2.6.11 postinstall /opt/build/repo/node_modules/babel-polyfill/node_modules/core-js
4:17:44 PM: > node -e "try{require('./postinstall')}catch(e){}"
4:17:44 PM: > core-js@2.6.11 postinstall /opt/build/repo/node_modules/babel-register/node_modules/core-js
4:17:44 PM: > node -e "try{require('./postinstall')}catch(e){}"
4:17:44 PM: > core-js@2.6.11 postinstall /opt/build/repo/node_modules/babel-runtime/node_modules/core-js
4:17:44 PM: > node -e "try{require('./postinstall')}catch(e){}"
4:17:45 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/core-js
4:17:45 PM: > node -e "try{require('./postinstall')}catch(e){}"
4:17:45 PM: > core-js-pure@3.6.5 postinstall /opt/build/repo/node_modules/core-js-pure
4:17:45 PM: > node -e "try{require('./postinstall')}catch(e){}"
4:17:46 PM: > gatsby-telemetry@1.3.32 postinstall /opt/build/repo/node_modules/gatsby-telemetry
4:17:46 PM: > node src/postinstall.js || true
4:17:46 PM: > mozjpeg@7.0.0 postinstall /opt/build/repo/node_modules/mozjpeg
4:17:46 PM: > node lib/install.js
4:17:46 PM:   ✔ mozjpeg pre-build test passed successfully
4:17:46 PM: > pngquant-bin@6.0.0 postinstall /opt/build/repo/node_modules/pngquant-bin
4:17:46 PM: > node lib/install.js
4:17:47 PM:   ✔ pngquant pre-build test passed successfully
4:17:47 PM: > gatsby-cli@2.12.95 postinstall /opt/build/repo/node_modules/gatsby/node_modules/gatsby-cli
4:17:47 PM: > node scripts/postinstall.js
4:17:47 PM: > gatsby@2.24.57 postinstall /opt/build/repo/node_modules/gatsby
4:17:47 PM: > node scripts/postinstall.js
4:17:47 PM: > node-sass@4.14.1 postinstall /opt/build/repo/node_modules/node-sass
4:17:47 PM: > node scripts/build.js
4:17:48 PM: Binary found at /opt/build/repo/node_modules/node-sass/vendor/linux-x64-64/binding.node
4:17:48 PM: Testing binary
4:17:48 PM: Binary is fine
4:17:51 PM: npm notice created a lockfile as package-lock.json. You should commit this file.
4:17:51 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/babel-plugin-add-module-exports/node_modules/chokidar/node_modules/fsevents):
4:17:51 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
4:17:51 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
4:17:51 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
4:17:51 PM: npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {"node":"<8.10.0"} (current: {"node":"10.22.0","npm":"6.14.6"})
4:17:51 PM: npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0
4:17:51 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^2.1.2 (node_modules/jest-haste-map/node_modules/fsevents):
4:17:51 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
4:17:51 PM: npm WARN bootstrap@4.5.2 requires a peer of jquery@1.9.1 - 3 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN bootstrap@4.5.2 requires a peer of popper.js@^1.16.1 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN @pmmmwh/react-refresh-webpack-plugin@0.4.2 requires a peer of react-refresh@^0.8.3 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN @typescript-eslint/parser@2.34.0 requires a peer of eslint@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN @typescript-eslint/eslint-plugin@2.34.0 requires a peer of eslint@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN eslint-config-react-app@5.2.1 requires a peer of eslint@6.x but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN eslint-config-react-app@5.2.1 requires a peer of eslint-plugin-react-hooks@1.x || 2.x but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN eslint-loader@2.2.1 requires a peer of eslint@>=1.6.0 <7.0.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN tsutils@3.17.1 requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN gatsby-interface@0.0.166 requires a peer of gatsby@2.6.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN gatsby-interface@0.0.166 requires a peer of react@16.8.1 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN gatsby-interface@0.0.166 requires a peer of react-dom@16.8.1 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: npm WARN theme-ui@0.2.52 requires a peer of @mdx-js/react@^1.0.0 but none is installed. You must install peer dependencies yourself.
4:17:51 PM: added 3163 packages from 1451 contributors and audited 3173 packages in 101.267s
4:17:54 PM: 183 packages are looking for funding
4:17:54 PM:   run `npm fund` for details
4:17:54 PM: found 8 low severity vulnerabilities
4:17:54 PM:   run `npm audit fix` to fix them, or `npm audit` for details
4:17:54 PM: NPM modules installed
4:17:55 PM: Started restoring cached go cache
4:17:55 PM: Finished restoring cached go cache
4:17:55 PM: Installing Go version 1.12
4:18:01 PM: unset GOOS;
4:18:01 PM: unset GOARCH;
4:18:01 PM: export GOROOT='/opt/buildhome/.gimme_cache/versions/go1.12.linux.amd64';
4:18:01 PM: export PATH="/opt/buildhome/.gimme_cache/versions/go1.12.linux.amd64/bin:${PATH}";
4:18:01 PM: go version >&2;
4:18:01 PM: export GIMME_ENV="/opt/buildhome/.gimme_cache/env/go1.12.linux.amd64.env"
4:18:01 PM: go version go1.12 linux/amd64
4:18:01 PM: Installing missing commands
4:18:01 PM: Verify run directory
4:18:02 PM: ​
4:18:02 PM: ┌─────────────────────────────┐
4:18:02 PM: │        Netlify Build        │
4:18:02 PM: └─────────────────────────────┘
4:18:02 PM: ​
4:18:02 PM: ❯ Version
4:18:02 PM:   @netlify/build 3.3.5
4:18:02 PM: ​
4:18:02 PM: ❯ Flags
4:18:02 PM:   deployId: 5f5e28ed1480ca0008c2adc0
4:18:02 PM:   mode: buildbot
4:18:02 PM: ​
4:18:02 PM: ❯ Current directory
4:18:02 PM:   /opt/build/repo
4:18:02 PM: ​
4:18:02 PM: ❯ Config file
4:18:02 PM:   No config file was defined: using default values.
4:18:02 PM: ​
4:18:02 PM: ❯ Context
4:18:02 PM:   deploy-preview
4:18:02 PM: ​
4:18:02 PM: ┌───────────────────────────────────┐
4:18:02 PM: │ 1. Build command from Netlify app │
4:18:02 PM: └───────────────────────────────────┘
4:18:02 PM: ​
4:18:02 PM: $ gatsby build
4:18:05 PM: success open and validate gatsby-configs - 0.031s
4:18:06 PM: success load plugins - 0.995s
4:18:07 PM: success onPreInit - 0.136s
4:18:07 PM: success delete html and css files from previous builds - 0.004s
4:18:07 PM: success initialize cache - 0.007s
4:18:07 PM: success copy gatsby files - 0.051s
4:18:07 PM: success onPreBootstrap - 0.016s
4:18:07 PM: success createSchemaCustomization - 0.034s
4:18:08 PM: success Checking for changed pages - 0.000s
4:18:08 PM: success source and transform nodes - 0.865s
4:18:08 PM: success building schema - 0.452s
4:18:08 PM: success createPages - 0.055s
4:18:08 PM: success Checking for changed pages - 0.000s
4:18:08 PM: success createPagesStatefully - 0.127s
4:18:08 PM: success update schema - 0.036s
4:18:08 PM: success onPreExtractQueries - 0.001s
4:18:09 PM: success extract queries from components - 0.835s
4:18:09 PM: success write out redirect data - 0.010s
4:18:09 PM: success Build manifest and related icons - 0.283s
4:18:09 PM: success onPostBootstrap - 0.285s
4:18:09 PM: info bootstrap finished - 7.286s
4:18:10 PM: success run static queries - 0.333s - 3/3 9.00/s
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/a7df967df198c32dade4eb27c82d3eb5/default-cover.jpg
4:18:10 PM: node image size 79.9 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/shows/default-cover.jpg
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show arsene-lupin
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show la-station-champbaudet
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show limparfait-du-subjectif
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show les-patted-de-mouche
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show test2
4:18:10 PM: info charge cover 007ef416-4f2a-5409-8f60-5296b94c884a for show 64-test2
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/297/cover/mon-ismenie.jpeg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/f620f69d8ae4557f155959f57e41ba6d/mon-ismenie.jpeg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/f620f69d8ae4557f155959f57e41ba6d/mon-ismenie.jpeg
4:18:10 PM: node image size 138 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/297/cover/mon-ismenie.jpeg
4:18:10 PM: info charge cover 064528de-9e36-5915-8498-4d82c7f74068 for show mon-ismenie
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/294/cover/mauvaise-troupe.jpeg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/ed2acd653cdba9772b157b03a01ba565/mauvaise-troupe.jpeg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/ed2acd653cdba9772b157b03a01ba565/mauvaise-troupe.jpeg
4:18:10 PM: node image size 194 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/294/cover/mauvaise-troupe.jpeg
4:18:10 PM: info charge cover 9560783d-68ab-5f79-99ca-432acb6007d9 for show mauvaise-troupe
4:18:10 PM: NEW IMAGE FROM REMOTE CREATED
4:18:10 PM: node internal.description File "http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/235/tailleur-pour-dames.jpeg"
4:18:10 PM: node image local absolute path /opt/build/repo/.cache/caches/default-site-plugin/585473450b8fe135948f04e2855505a6/tailleur-pour-dames.jpeg
4:18:10 PM: node image local relative path .cache/caches/default-site-plugin/585473450b8fe135948f04e2855505a6/tailleur-pour-dames.jpeg
4:18:10 PM: node image size 276 kB
4:18:10 PM: node image remote original url http://les-coulisses.touchard.bzh/storage/thumb/500-XX/spectacle/235/tailleur-pour-dames.jpeg
4:18:10 PM: info charge cover a2bd061b-0a29-5a67-8a71-00e6c5b24600 for show tailleur-pour-dames
4:18:10 PM: success run page queries - 0.687s - 12/12 17.47/s
4:18:10 PM: success write out requires - 0.005s
4:18:39 PM: success Building production JavaScript and CSS bundles - 28.526s
4:18:39 PM: success Rewriting compilation hashes - 0.003s
4:18:47 PM: failed Building static HTML for pages - 7.702s
4:18:47 PM: error Building static HTML failed for path "/mauvaise-troupe"
4:18:47 PM: 
4:18:47 PM:   11 |   const { fluid: coverFluid } = data.internalAccounts.shows
4:18:47 PM:   12 |     .filter((show: any) => show.slug === pageContext.slug)
4:18:47 PM: > 13 |     .shift().featuredCover.childImageSharp;
4:18:47 PM:      |                            ^
4:18:47 PM:   14 | 
4:18:47 PM:   15 |   return (
4:18:47 PM:   16 |     <div
4:18:47 PM: 
4:18:47 PM:   WebpackError: TypeError: Cannot read property 'childImageSharp' of null
4:18:47 PM:   
4:18:47 PM:   - ShowPage.tsx:13 
4:18:47 PM:     src/templates/ShowPage.tsx:13:28
4:18:47 PM:   
4:18:47 PM: 
4:18:47 PM: not finished Generating image thumbnails - 37.537s
4:18:47 PM: ​
4:18:47 PM: ┌─────────────────────────────┐
4:18:47 PM: │   "build.command" failed    │
4:18:47 PM: └─────────────────────────────┘
4:18:47 PM: ​
4:18:47 PM:   Error message
4:18:47 PM:   Command failed with exit code 1: gatsby build
4:18:47 PM: ​
4:18:47 PM:   Error location
4:18:47 PM:   In Build command from Netlify app:
4:18:47 PM:   gatsby build
4:18:47 PM: ​
4:18:47 PM:   Resolved config
4:18:47 PM:   build:
4:18:47 PM:     command: gatsby build
4:18:47 PM:     commandOrigin: ui
4:18:47 PM:     environment:
4:18:47 PM:       - REVIEW_ID
4:18:47 PM:     publish: /opt/build/repo/public
4:18:47 PM: Caching artifacts
4:18:47 PM: Started saving node modules
4:18:47 PM: Finished saving node modules
4:18:47 PM: Started saving build plugins
4:18:47 PM: Finished saving build plugins
4:18:47 PM: Started saving pip cache
4:18:47 PM: Finished saving pip cache
4:18:47 PM: Started saving emacs cask dependencies
4:18:47 PM: Finished saving emacs cask dependencies
4:18:47 PM: Started saving maven dependencies
4:18:47 PM: Finished saving maven dependencies
4:18:47 PM: Started saving boot dependencies
4:18:47 PM: Finished saving boot dependencies
4:18:48 PM: Started saving go dependencies
4:18:49 PM: Finished saving go dependencies
4:18:53 PM: Error running command: Build script returned non-zero exit code: 1
4:18:53 PM: Failing build: Failed to build site
4:18:53 PM: Failed during stage 'building site': Build script returned non-zero exit code: 1
4:18:53 PM: Finished processing build request in 2m52.368248674s

package.json

{
  "name": "potimarrants",
  "private": true,
  "description": "Potimarrants",
  "version": "0.0.1",
  "author": "Nathan Douillet <douilletnathan@gmail.com>",
  "main": "gatsby-config.js",
  "dependencies": {
    "@material-ui/core": "^4.11.0",
    "@material-ui/icons": "^4.9.1",
    "animejs": "^3.2.0",
    "antd": "^4.6.4",
    "bootstrap": "^4.5.2",
    "dotenv": "^8.2.0",
    "gatsby": "^2.24.57",
    "gatsby-image": "^2.4.17",
    "gatsby-plugin-manifest": "^2.4.28",
    "gatsby-plugin-offline": "^3.2.27",
    "gatsby-plugin-page-creator": "^2.3.27",
    "gatsby-plugin-react-helmet": "^3.3.10",
    "gatsby-plugin-sass": "^2.3.12",
    "gatsby-plugin-sharp": "^2.6.35",
    "gatsby-source-apiserver": "^2.1.7",
    "gatsby-source-filesystem": "^2.3.29",
    "gatsby-source-prismic-graphql": "^3.6.2",
    "gatsby-transformer-sharp": "^2.5.14",
    "jest": "^26.4.2",
    "node-sass": "^4.14.1",
    "prismic-reactjs": "^1.3.2",
    "prop-types": "^15.7.2",
    "react": "^16.13.1",
    "react-bootstrap": "^1.3.0",
    "react-dom": "^16.13.1",
    "react-helmet": "^6.1.0"
  },
  "devDependencies": {
    "eslint": "^7.9.0",
    "eslint-config-airbnb": "^18.2.0",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-jsx-a11y": "^6.3.1",
    "eslint-plugin-react": "^7.20.6",
    "eslint-plugin-react-hooks": "^4.1.2",
    "prettier": "^2.1.1"
  },
  "keywords": [
    "gatsby",
    "gatsby-theme"
  ],
  "license": "MIT",
  "scripts": {
    "build": "gatsby build",
    "predevelop": "gatsby clean",
    "develop": "gatsby develop",
    "format": "prettier --write src/**/*.{js,jsx}",
    "lint": "eslint .",
    "start": "npm run develop",
    "serve": "gatsby serve",
    "test": "jest src/"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/gatsbyjs/gatsby-starter-default"
  },
  "bugs": {
    "url": "https://github.com/gatsbyjs/gatsby/issues"
  },
  "jest": {
    "verbose": true
  }
}

gatsby-config.js

const API_URL = 'some url';
module.exports = {
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: 'gatsby-plugin-page-creator',
      options: {
        path: `${__dirname}/src/pages`
      }
    },
    {
      resolve: 'gatsby-plugin-sass',
      options: {
        precision: 8
      }
    },
    'gatsby-transformer-sharp',
    'gatsby-plugin-sharp',
    {
      resolve: 'gatsby-plugin-manifest',
      options: {
        name: 'Potimarrants',
        short_name: 'Poti',
        start_url: '/',
        background_color: '#ffffff',
        theme_color: '#663399',
        display: 'minimal-ui',
        icon: `${__dirname}/src/images/favicon.png`
      }
    },
    {
      resolve: 'gatsby-source-filesystem',
      options: {
        path: `${__dirname}/src/images/`,
        name: 'images'
      }
    },
    {
      resolve: 'gatsby-source-apiserver',
      options: {
        url: `${API_URL}/gatsby`,
        method: 'get',
        headers: {
          'Content-Type': 'application/json'
        },
        typePrefix: 'internal__',
        name: 'accounts',
        verboseOutput: true
      }
    }
  ]
};

gatsby-node.js

/* eslint-disable no-console */
const { createRemoteFileNode } = require('gatsby-source-filesystem');
const path = require('path');

/**
 * Create types sent by API to build project
 * @param {*} param0 Gatsby parameter useful for actions in this method
 */
exports.createSchemaCustomization = ({ actions }) => {
  const { createTypes } = actions;
  createTypes(`
    type Show {
      id: String
      slug: String
      title: String
      cover: String
      featuredCover: File @link(from: "featuredImg___NODE")
    }
    type OptionsFile {
      id: String
      name: String
      url: String!
      img___NODE: File @link(from: "img___NODE")
    }
    type Options {
      files: [OptionsFile]
    }
    type Element {
      id: String
      position: String
      type: String
      options: Options
      alternative_children: [Element]
    }
    type Structure {
      homPage: Element
      showPage: Element
    }
    type internal__accounts implements Node {
      id: String
      shows: [Show]
      structure: Structure
    }
  `);
};

/**
 * Method called to create image node from a file returned by API
 * @param {*} file File returned by API
 * @param {*} store Gatsby method
 * @param {*} cache Gatsby method
 * @param {*} createNode Gatsby method
 * @param {*} createNodeId Gatsby method
 */
const createImgFluidNode = async (
  file,
  store,
  cache,
  createNode,
  createNodeId
) => {
  const fluidNode = await createRemoteFileNode({
    url: file.url,
    parentNodeId: file.id,
    createNode,
    createNodeId,
    cache,
    store
  });

  console.debug('NEW IMAGE FROM REMOTE CREATED');
  console.debug('node internal.description', fluidNode.internal.description);
  console.debug('node image local absolute path', fluidNode.absolutePath);
  console.debug('node image local relative path', fluidNode.relativePath);
  console.debug('node image size', fluidNode.prettySize);
  console.debug('node image remote original url', fluidNode.url);

  return fluidNode.id;
};

/**
 * This method is called when we want to build the image node for element object
 * @param {*} show Show we want to add image node
 * @param {*} store Gatsby method
 * @param {*} cache Gatsby method
 * @param {*} createNode Gatsby method
 * @param {*} createNodeId Gatsby method
 */
const createImgFluidElement = async (
  element,
  createNode,
  store,
  cache,
  createNodeId
) => {
  if (Array.isArray(element.options.files)) {
    element.options.files.forEach(async (file, index) => {
      const fileNodeId = await createImgFluidNode(
        file,
        store,
        cache,
        createNode,
        createNodeId
      );
      // if the file was created, attach the new node to the parent node
      if (fileNodeId) {
        // eslint-disable-next-line no-param-reassign
        element.options.files[index].img___NODE = fileNodeId;
        // eslint-disable-next-line no-console
        console.info(`charge file ${file.url} in node ${fileNodeId}`);
      }
    });
  }

  if (Array.isArray(element.alternative_children)) {
    element.alternative_children.forEach(async child => {
      await createImgFluidElement(
        child,
        createNode,
        store,
        cache,
        createNodeId
      );
    });
  }

  return element;
};

/**
 * This method is called when we want to build a node with remote show cover
 * @param {*} show Show we want to add image node
 * @param {*} store Gatsby method
 * @param {*} cache Gatsby method
 * @param {*} createNode Gatsby method
 * @param {*} createNodeId Gatsby method
 */
const createImgFluidShow = async (
  show,
  store,
  cache,
  createNode,
  createNodeId
) => {
  const fileNodeId = createImgFluidNode(
    { url: show.cover, id: show.id },
    store,
    cache,
    createNode,
    createNodeId
  );

  return fileNodeId;
};

/**
 * Each time Gatsby create a node, this method is called
 * It's usefull to download remot images for show and elements
 * @param {*} param0 Parameters given by Gatsby
 */
exports.onCreateNode = async ({
  node,
  actions: { createNode },
  store,
  cache,
  createNodeId
}) => {
  const nodeClone = node;
  // For all MarkdownRemark nodes that have a featured image url, call createRemoteFileNode
  if (
    nodeClone.id !== 'dummy' &&
    nodeClone.internal.type === 'internal__accounts'
  ) {
    const shows = nodeClone.shows.filter(
      show => show.cover !== null || show.cover !== undefined
    );
    shows.forEach(async (show, index) => {
      const fileNodeId = await createImgFluidShow(
        show,
        store,
        cache,
        createNode,
        createNodeId
      );
      // if the file was created, attach the new node to the parent node
      if (fileNodeId) {
        // eslint-disable-next-line no-param-reassign
        nodeClone.shows[index].featuredImg___NODE = fileNodeId;

        // eslint-disable-next-line no-console
        console.info(`charge cover ${fileNodeId} for show ${show.slug}`);
      }
    });

    if (
      nodeClone.structure !== undefined &&
      nodeClone.structure.homePage !== undefined
    ) {
      nodeClone.structure.homePage = await createImgFluidElement(
        nodeClone.structure.homePage,
        createNode,
        store,
        cache,
        createNodeId
      );
    }
  }
};

/**
 * This method create page for each show returned by API.
 *
 * @param {*} param0 parameters of Gatsby useful to build page
 */
exports.createPages = ({ graphql, actions }) => {
  const { createPage } = actions;
  const showPage = path.resolve('./src/templates/ShowPage.tsx');
  return graphql(
    `
      {
        allInternalAccounts(filter: { id: { ne: "dummy" } }) {
          edges {
            node {
              id
              shows {
                title
                slug
              }
            }
          }
        }
      }
    `
  ).then(result => {
    if (result.errors) {
      throw result.errors;
    } else {
      const accounts = result.data.allInternalAccounts.edges;
      accounts.forEach(account => {
        const pages = account.node.shows;
        pages.forEach(page => {
          if (page.slug) {
            createPage({
              path: `/${page.slug}`,
              component: showPage,
              context: {
                title: page.title,
                slug: page.slug,
                accountId: account.node.id
              }
            });
          }
        });
      });
    }
    return null;
  });
};

The coompilation works localy but not on netlify

github-actions[bot] commented 3 years ago

Hiya!

This issue has gone quiet. Spooky quiet. 👻

We get a lot of issues, so we currently close issues after 60 days of inactivity. It’s been at least 20 days since the last update here. If we missed this issue or if you want to keep it open, please reply here. As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing!

Thanks for being a part of the Gatsby community! 💪💜

ascorbic commented 3 years ago

I think there's an important point here: it's not childImageSharp that is null, it's the parent file node that's null. This implies that the file node itself isn't being created (or your code for loading it is wrong), and it's not a sharp issue.

Mayeul-T commented 3 years ago

Yes, I want to know why the node is created locally but not on netlify

github-actions[bot] commented 3 years ago

Hiya!

This issue has gone quiet. Spooky quiet. 👻

We get a lot of issues, so we currently close issues after 60 days of inactivity. It’s been at least 20 days since the last update here. If we missed this issue or if you want to keep it open, please reply here. As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing!

Thanks for being a part of the Gatsby community! 💪💜

github-actions[bot] commented 3 years ago

Hey again!

It’s been 60 days since anything happened on this issue, so our friendly neighborhood robot (that’s me!) is going to close it. Please keep in mind that I’m only a robot, so if I’ve closed this issue in error, I’m HUMAN_EMOTION_SORRY. Please feel free to comment on this issue or create a new one if you need anything else. As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing!

Thanks again for being part of the Gatsby community! 💪💜