Accessing Multiple Private Repositories

My site name is: code-comments

I’m trying to follow the guide: [Support Guide] How do I access private repositories in the build environment?

The issue I’m having is understanding what to do with multiple private submodules. Per the guide:

You can use this workflow with multiple private submodules attached to the same repository, but that does take some extra work since GitHub does not allow Deploy Keys to be used in multiple places. You’ll have to instead add them to a user (perhaps you? or maybe a robot-account that you create on GitHub) that has access to all repos.

What does it mean to add them to a user? I tried adding the one key to my user as a new ssh key, but that seemed to fail?

I recognize that I’m asking Netlify to tell me how to use GitHub… but I’m hoping someone can at least point me in the right direction :slight_smile:

Full build logs:

    5:35:56 PM: Build ready to start
    5:36:05 PM: build-image version: 9d79ad851d6eff3969322d6e5b1df3d597650c41
    5:36:05 PM: build-image tag: v3.3.19
    5:36:05 PM: buildbot version: 2cc7ea668a3e8f63326d15aab17e62cd1997fa2e
    5:36:05 PM: Fetching cached dependencies
    5:36:05 PM: Starting to download cache of 254.4KB
    5:36:05 PM: Finished downloading cache in 83.177007ms
    5:36:05 PM: Starting to extract cache
    5:36:05 PM: Failed to fetch cache, continuing with build
    5:36:05 PM: Starting to prepare the repo for build
    5:36:05 PM: No cached dependencies found. Cloning fresh repo
    5:36:05 PM: git clone https://github.com/stephencweiss/stephencharlesweiss.com
    5:36:09 PM: Preparing Git Reference pull/379/head
    5:36:16 PM: Starting build script
    5:36:16 PM: Installing dependencies
    5:36:16 PM: Python version set to 2.7
    5:36:17 PM: Attempting node version '12' from .nvmrc
    5:36:17 PM: Downloading and installing node v12.18.2...
    5:36:18 PM: Downloading https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz...
    5:36:18 PM: Computing checksum with sha256sum
    5:36:18 PM: Checksums matched!
    5:36:21 PM: Now using node v12.18.2 (npm v6.14.5)
    5:36:21 PM: Started restoring cached build plugins
    5:36:21 PM: Finished restoring cached build plugins
    5:36:21 PM: Attempting ruby version 2.7.1, read from environment
    5:36:22 PM: Using ruby version 2.7.1
    5:36:23 PM: Using PHP version 5.6
    5:36:23 PM: 5.2 is already installed.
    5:36:23 PM: Using Swift version 5.2
    5:36:23 PM: Started restoring cached node modules
    5:36:23 PM: Finished restoring cached node modules
    5:36:23 PM: Installing NPM modules using NPM version 6.14.5
    5:37:21 PM: > sharp@0.25.4 install /opt/build/repo/node_modules/sharp
    5:37:21 PM: > (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)
    5:37:21 PM: info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
    5:37:23 PM: > husky@4.2.5 install /opt/build/repo/node_modules/husky
    5:37:23 PM: > node husky install
    5:37:24 PM: husky > Setting up git hooks
    5:37:24 PM: CI detected, skipping Git hooks installation.
    5:37:24 PM: husky > Done
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/bmp/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/core/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/custom/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/gif/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/jpeg/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-blit/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-blur/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-circle/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-color/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:24 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-contain/node_modules/core-js
    5:37:24 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-cover/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-crop/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-displace/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-dither/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-fisheye/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-flip/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-gaussian/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-invert/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-mask/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-normalize/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:25 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-print/node_modules/core-js
    5:37:25 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-resize/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-rotate/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-scale/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-shadow/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugin-threshold/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/plugins/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/png/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/tiff/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/types/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:26 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/@jimp/utils/node_modules/core-js
    5:37:26 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:27 PM: > core-js@2.6.11 postinstall /opt/build/repo/node_modules/core-js
    5:37:27 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:27 PM: > core-js-pure@3.6.5 postinstall /opt/build/repo/node_modules/core-js-pure
    5:37:27 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:27 PM: > ejs@2.7.4 postinstall /opt/build/repo/node_modules/ejs
    5:37:27 PM: > node ./postinstall.js
    5:37:27 PM: > core-js@3.6.5 postinstall /opt/build/repo/node_modules/jimp/node_modules/core-js
    5:37:27 PM: > node -e "try{require('./postinstall')}catch(e){}"
    5:37:28 PM: > gatsby-telemetry@1.3.14 postinstall /opt/build/repo/node_modules/gatsby-telemetry
    5:37:28 PM: > node src/postinstall.js || true
    5:37:28 PM: > cwebp-bin@5.1.0 postinstall /opt/build/repo/node_modules/cwebp-bin
    5:37:28 PM: > node lib/install.js
    5:37:29 PM:   ✔ cwebp pre-build test passed successfully
    5:37:29 PM: > mozjpeg@6.0.1 postinstall /opt/build/repo/node_modules/mozjpeg
    5:37:29 PM: > node lib/install.js
    5:37:29 PM:   ✔ mozjpeg pre-build test passed successfully
    5:37:29 PM: > pngquant-bin@5.0.2 postinstall /opt/build/repo/node_modules/pngquant-bin
    5:37:29 PM: > node lib/install.js
    5:37:30 PM:   ✔ pngquant pre-build test passed successfully
    5:37:30 PM: > gatsby-cli@2.12.52 postinstall /opt/build/repo/node_modules/gatsby/node_modules/gatsby-cli
    5:37:30 PM: > node scripts/postinstall.js
    5:37:30 PM: > gatsby@2.23.12 postinstall /opt/build/repo/node_modules/gatsby
    5:37:30 PM: > node scripts/postinstall.js
    5:37:30 PM: > husky@4.2.5 postinstall /opt/build/repo/node_modules/husky
    5:37:30 PM: > opencollective-postinstall || exit 0
    5:37:33 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
    5:37:33 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    5:37:33 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/chokidar/node_modules/fsevents):
    5:37:33 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    5:37:33 PM: added 2745 packages from 1369 contributors and audited 2756 packages in 69.747s
    5:37:36 PM: 171 packages are looking for funding
    5:37:36 PM:   run `npm fund` for details
    5:37:36 PM: found 1291 low severity vulnerabilities
    5:37:36 PM:   run `npm audit fix` to fix them, or `npm audit` for details
    5:37:36 PM: NPM modules installed
    5:37:36 PM: Started restoring cached go cache
    5:37:36 PM: Finished restoring cached go cache
    5:37:36 PM: go version go1.14.4 linux/amd64
    5:37:36 PM: go version go1.14.4 linux/amd64
    5:37:36 PM: Installing missing commands
    5:37:36 PM: Verify run directory
    5:37:38 PM: ​
    5:37:38 PM: ┌─────────────────────────────┐
    5:37:38 PM: │        Netlify Build        │
    5:37:38 PM: └─────────────────────────────┘
    5:37:38 PM: ​
    5:37:38 PM: ❯ Version
    5:37:38 PM:   @netlify/build 2.0.25
    5:37:38 PM: ​
    5:37:38 PM: ❯ Flags
    5:37:38 PM:   deployId: 5effb2cc0e71d0fc4a3aae0a
    5:37:38 PM:   mode: buildbot
    5:37:38 PM: ​
    5:37:38 PM: ❯ Current directory
    5:37:38 PM:   /opt/build/repo
    5:37:38 PM: ​
    5:37:38 PM: ❯ Config file
    5:37:38 PM:   No config file was defined: using default values.
    5:37:38 PM: ​
    5:37:38 PM: ❯ Context
    5:37:38 PM:   deploy-preview
    5:37:38 PM: ​
    5:37:38 PM: ┌───────────────────────────────────┐
    5:37:38 PM: │ 1. Build command from Netlify app │
    5:37:38 PM: └───────────────────────────────────┘
    5:37:38 PM: ​
    5:37:38 PM: $ npm run build
    5:37:38 PM: > stephencharlesweiss.com@0.1.0 build /opt/build/repo
    5:37:38 PM: > npm run pre-build && gatsby build
    5:37:38 PM: > stephencharlesweiss.com@0.1.0 pre-build /opt/build/repo
    5:37:38 PM: > npm run submodules && npm run clean && npm run site-stats
    5:37:39 PM: > stephencharlesweiss.com@0.1.0 submodules /opt/build/repo
    5:37:39 PM: > git submodule update  --remote
    5:37:39 PM: Host key verification failed.
    5:37:39 PM: fatal: Could not read from remote repository.
    5:37:39 PM: Please make sure you have the correct access rights
    5:37:39 PM: and the repository exists.
    5:37:39 PM: Unable to fetch in submodule path 'content'
    5:37:39 PM: npm ERR! code ELIFECYCLE
    5:37:39 PM: npm ERR! errno 1
    5:37:39 PM: npm ERR! stephencharlesweiss.com@0.1.0 submodules: `git submodule update  --remote`
    5:37:39 PM: npm ERR! Exit status 1
    5:37:39 PM: npm ERR!
    5:37:39 PM: npm ERR! Failed at the stephencharlesweiss.com@0.1.0 submodules script.
    5:37:39 PM: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    5:37:39 PM: npm ERR! A complete log of this run can be found in:
    5:37:39 PM: npm ERR!     /opt/buildhome/.npm/_logs/2020-07-03T22_37_39_294Z-debug.log
    5:37:39 PM: npm ERR! code ELIFECYCLE
    5:37:39 PM: npm ERR! errno 1
    5:37:39 PM: npm ERR! stephencharlesweiss.com@0.1.0 pre-build: `npm run submodules && npm run clean && npm run site-stats`
    5:37:39 PM: npm ERR! Exit status 1
    5:37:39 PM: npm ERR!
    5:37:39 PM: npm ERR! Failed at the stephencharlesweiss.com@0.1.0 pre-build script.
    5:37:39 PM: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    5:37:39 PM: npm ERR! A complete log of this run can be found in:
    5:37:39 PM: npm ERR!     /opt/buildhome/.npm/_logs/2020-07-03T22_37_39_312Z-debug.log
    5:37:39 PM: npm ERR! code ELIFECYCLE
    5:37:39 PM: npm ERR! errno 1
    5:37:39 PM: npm ERR! stephencharlesweiss.com@0.1.0 build: `npm run pre-build && gatsby build`
    5:37:39 PM: npm ERR! Exit status 1
    5:37:39 PM: npm ERR!
    5:37:39 PM: npm ERR! Failed at the stephencharlesweiss.com@0.1.0 build script.
    5:37:39 PM: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    5:37:39 PM: npm ERR! A complete log of this run can be found in:
    5:37:39 PM: npm ERR!     /opt/buildhome/.npm/_logs/2020-07-03T22_37_39_327Z-debug.log
    5:37:39 PM: ​
    5:37:39 PM: ┌─────────────────────────────┐
    5:37:39 PM: │   "build.command" failed    │
    5:37:39 PM: └─────────────────────────────┘
    5:37:39 PM: ​
    5:37:39 PM:   Error message
    5:37:39 PM:   Command failed with exit code 1: npm run build
    5:37:39 PM: ​
    5:37:39 PM:   Error location
    5:37:39 PM:   In Build command from Netlify app:
    5:37:39 PM:   npm run build
    5:37:39 PM: ​
    5:37:39 PM:   Resolved config
    5:37:39 PM:   build:
    5:37:39 PM:     command: npm run build
    5:37:39 PM:     commandOrigin: ui
    5:37:39 PM:     environment:
    5:37:39 PM:       - REVIEW_ID
    5:37:39 PM:     publish: /opt/build/repo/public
    5:37:39 PM: Caching artifacts
    5:37:39 PM: Started saving node modules
    5:37:39 PM: Finished saving node modules
    5:37:39 PM: Started saving build plugins
    5:37:39 PM: Finished saving build plugins
    5:37:39 PM: Started saving pip cache
    5:37:39 PM: Finished saving pip cache
    5:37:39 PM: Started saving emacs cask dependencies
    5:37:39 PM: Finished saving emacs cask dependencies
    5:37:39 PM: Started saving maven dependencies
    5:37:39 PM: Finished saving maven dependencies
    5:37:39 PM: Started saving boot dependencies
    5:37:39 PM: Finished saving boot dependencies
    5:37:39 PM: Started saving go dependencies
    5:37:39 PM: Finished saving go dependencies
    5:37:42 PM: Error running command: Build script returned non-zero exit code: 1
    5:37:42 PM: Failing build: Failed to build site
    5:37:43 PM: Failed during stage 'building site': Build script returned non-zero exit code: 1
    5:37:43 PM: Finished processing build request in 1m37.856010622s

Hi @stephencweiss,

You’ll want to add the deploy key to a user that has access to the private subdmodules. When logged in to that github user account, you’ll go here: https://github.com/settings/keys and add a new key (you’ll use the deploy key). That should allow our buildbot access to the private submodule via that github user account.

Hope that makes sense.

I’ll give it a shot and let you know! Cheers!

1 Like

After trying a few ways I’m still at an impasse here. I have done the following:

  1. Created a Deploy Key from my site

  2. Copy the entire key, including the first line (ssh-rsa) as an SSH Key to my /settings/keys as an SSH Key

Based on my reading of the original support guide, this should be all that’s necessary.

I thought it might be my build command, but not sure why that would be. See my scripts in the package.json


"scripts": {

"build": "npm run pre-build && gatsby build",

"clean": "rm -rf .cache && rm -rf public",

"modules:update": "git submodule update --remote",

"pre-build": "npm run clean && npm run site-stats && npm run modules:update",

"site-stats": "cloc . --exclude-dir=$(tr '\n' ',' < .clocignore) --md > ./content/stats/current-stats.md",

},

Cloud Trigger Deploy Fails

When I make a commit, I trigger a build from my branch, but that fails. Here are two examples:

  1. Failed branch deploy log.

  2. Failed deploy preview log

Local Build

When I build and deploy all locally, it works (not surprising):


stephen@Stephens-MBP-2 blog % ./node_modules/.bin/netlify build

┌─────────────────────────────┐

│ Netlify Build │

└─────────────────────────────┘

❯ Version

@netlify/build 3.3.4

❯ Flags

mode: cli

❯ Current directory

/Users/stephen/code/blog

❯ Config file

No config file was defined: using default values.

❯ Context

production

┌───────────────────────────────────┐

│ 1. Build command from Netlify app │

└───────────────────────────────────┘

$ npm run build

> stephencharlesweiss.com@0.1.0 build /Users/stephen/code/blog

> npm run pre-build && gatsby build

> stephencharlesweiss.com@0.1.0 pre-build /Users/stephen/code/blog

> npm run clean && npm run site-stats && npm run modules:update

> stephencharlesweiss.com@0.1.0 clean /Users/stephen/code/blog

> rm -rf .cache && rm -rf public

> stephencharlesweiss.com@0.1.0 site-stats /Users/stephen/code/blog

> cloc . --exclude-dir=$(tr '

' ',' < .clocignore) --md > ./content/stats/current-stats.md

> stephencharlesweiss.com@0.1.0 modules:update /Users/stephen/code/blog

> git submodule update --remote

remote: Enumerating objects: 7, done.

remote: Counting objects: 100% (7/7), done.

remote: Compressing objects: 100% (1/1), done.

remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0

Unpacking objects: 100% (4/4), done.

From github.com:stephencweiss/digital-garden

0af15ab..52b31a7 master -> origin/master

Submodule path 'content': checked out '52b31a73126ab9180c6a267e739ba76a3abf65d3'

success open and validate gatsby-configs - 0.068s

success load plugins - 1.316s

warn The Google Analytics plugin requires a tracking ID. Did you mean to add it?

success onPreInit - 0.045s

success delete html and css files from previous builds - 0.005s

success initialize cache - 0.006s

success copy gatsby files - 0.045s

success onPreBootstrap - 0.008s

success createSchemaCustomization - 0.051s

success Checking for changed pages - 0.002s

success source and transform nodes - 3.174s

success building schema - 0.335s

success createPages - 1.353s

success Checking for changed pages - 0.001s

success createPagesStatefully - 0.093s

success update schema - 0.047s

success onPreExtractQueries - 0.001s

success extract queries from components - 0.315s

success write out redirect data - 0.004s

success Build manifest and related icons - 0.319s

success onPostBootstrap - 0.323s

info bootstrap finished - 10.284s

success run static queries - 0.222s - 4/4 18.04/s

warn code block or inline code language not specified in markdown. applying generic code block

warn unable to find prism language 'a ' for highlighting. applying generic code block

warn unable to find prism language 'brew <formula' for highlighting. applying generic code block

warn unable to find prism language 'console.log('my var --' for highlighting. applying generic code block

warn unable to find prism language 'proposal: standard --' for highlighting. applying generic code block

warn unable to find prism language 'el =' for highlighting. applying generic code block

warn unable to find prism language 'error: operator does not exist: text @' for highlighting. applying generic code block

warn unable to find prism language 'if (count ' for highlighting. applying generic code block

warn unable to find prism language '(state, action) =' for highlighting. applying generic code block

warn unable to find prism language 'psql -h <db host name' for highlighting. applying generic code block

warn unable to find prism language 'alter table <table_name' for highlighting. applying generic code block

warn unable to find prism language 'git checkout [<tree-ish' for highlighting. applying generic code block

warn unable to find prism language 'git checkout (-p|--patch) [<tree-ish' for highlighting. applying generic code block

warn unable to find prism language '.github/workflows/<action-name' for highlighting. applying generic code block

warn unable to find prism language '<database_name' for highlighting. applying generic code block

warn unable to find prism language 'nvm i 2' for highlighting. applying generic code block

warn unable to find prism language '2' for highlighting. applying generic code block

warn unable to find prism language 'vi' for highlighting. applying generic code block

warn unable to find prism language 'shell:tiile="gitlog --help"' for highlighting. applying generic code block

warn unable to find prism language 'shellcopy=true' for highlighting. applying generic code block

warn unable to find prism language 'major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id' for highlighting. applying generic

warn unable to find prism language 'article ' for highlighting. applying generic code block

warn unable to find prism language 'git rm --cached <file' for highlighting. applying generic code block

warn unable to find prism language 'git rm —cached <file' for highlighting. applying generic code block

warn unable to find prism language '256 / 1*2^7 ' for highlighting. applying generic code block

warn unable to find prism language 'txt' for highlighting. applying generic code block

warn unable to find prism language '(files) =' for highlighting. applying generic code block

warn unable to find prism language 'output' for highlighting. applying generic code block

warn unable to find prism language '/users/<your_username' for highlighting. applying generic code block

warn unable to find prism language 'go:' for highlighting. applying generic code block

warn unable to find prism language 'res.on('end', () =' for highlighting. applying generic code block

warn unable to find prism language 'title=histogram.txt' for highlighting. applying generic code block

warn unable to find prism language '~/.zshrc ' for highlighting. applying generic code block

success run page queries - 25.553s - 1907/1907 74.63/s

success write out requires - 0.020s

success Building production JavaScript and CSS bundles - 8.550s

success Rewriting compilation hashes - 0.004s

success Building static HTML for pages - 3.835s - 1907/1907 497.29/s

success Generating image thumbnails - 109.995s - 947/947 8.61/s

info Generated public/sw.js, which will precache 9 files, totaling 346430 bytes.

The following pages will be precached:

/offline-plugin-app-shell-fallback/index.html

success onPostBuild - 0.972s

info Done building in 121.865659168 sec

(build.command completed in 2m 7.7s)

┌─────────────────────────────┐

│ Netlify Build Complete │

└─────────────────────────────┘

(Netlify Build completed in 2m 7.7s)

stephen@Stephens-MBP-2 blog % ./node_modules/.bin/netlify deploy

Deploy path: /Users/stephen/code/blog/public

Deploying to draft URL...

✔ Finished hashing 4907 files

✔ CDN requesting 1986 files

✔ Finished uploading 1986 assets

✔ Draft deploy is live!

Logs: https://app.netlify.com/sites/code-comments/deploys/5f4bd003cff5d07af77c66d7

Website Draft URL: https://5f4bd003cff5d07af77c66d7--code-comments.netlify.app

If everything looks good on your draft URL, deploy it to your main site URL with the --prod flag.

netlify deploy --prod

Wrap

Any and all suggestions welcome and appreciated!

A quick follow up - because I’m only allowed one “embedded media per post”

Interestingly, it looks like Netlify is using the SSH Key (note that it was “Last Used”)

@Dennis One more thing I tried (though this was a bit of a stretch) was converting my submodule from an SSH to a HTTPS reference in .gitmodules:

[submodule "content"]
	path = content
	url = https://github.com/stephencweiss/digital-garden.git

This also didn’t help though :frowning:

Solution: Remove the modules:update from the pre-build script as part of the build process. Fetching the latest hash on the submodule is not necessary at build time - even for me.

The original idea was that because I want daily builds, it would be necessary for me to go and update the blog’s hash daily. That would still be helpful but not necessary.

The inability to have an automated way to update the hash does add work on my end… I need to update the main site with greater frequency than I would like.

If anyone has a solution for how to get Netlify to be able to do this, I’m all ears.

I’ve also looked at modifying my Github workflow to add a Github action first checkout the submodule, but that proved more complicated than I was expecting at this stage.