Skip to content

Commit

Permalink
fix: Use same config for branch deploys as for deploy previews (#1893)
Browse files Browse the repository at this point in the history
* fix: Use same config for branch deploys as for deploy previews

* chore: remove unnecessary duplicate build-deploy-preview.sh file

* fix: Attempt to workaround Netlify cache issues for Lerna repos

* chore: Remove useless debug file

* fix: try to make Gatsby less slow
  • Loading branch information
swederik authored Jul 22, 2020
1 parent a4f286f commit f95a8c1
Show file tree
Hide file tree
Showing 8 changed files with 72 additions and 68 deletions.
10 changes: 9 additions & 1 deletion .netlify/build-deploy-preview.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,16 @@ mv platform/viewer/dist/* .netlify/www/pwa -v
# yarn run build:package

# Build && Move Docz Output
yarn run build:ui:deploy-preview
# Using local yarn install to prevent Gatsby from needing to access
# node_modules above the platform/ui folder
cd platform/ui
yarn install
yarn run build
cd ../..
mkdir -p ./.netlify/www/ui
mv platform/ui/.docz/dist/* .netlify/www/ui -v

# Cache all of the node_module dependencies in
# extensions, modules, and platform packages
yarn run lerna:cache
echo 'Nothing left to see here. Go home, folks.'
46 changes: 0 additions & 46 deletions build-deploy-preview.sh

This file was deleted.

12 changes: 0 additions & 12 deletions lerna-debug.log

This file was deleted.

26 changes: 26 additions & 0 deletions netlify-lerna-cache.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/sh
NODE_MODULES_CACHE="./node_modules"
LERNA_CACHE="$NODE_MODULES_CACHE/lerna-cache"

echo "Running netlify-lerna-cache.sh"
mkdir -p "$NODE_MODULES_CACHE/lerna-cache"

cache_deps() {
PACKAGES=$(ls -1 $1)

for PKG in $PACKAGES
do
PKG_NODE_MODULES="$1/$PKG/node_modules"
if [ -d $PKG_NODE_MODULES ];
then
mv $PKG_NODE_MODULES $LERNA_CACHE/$PKG
echo "Cached node modules for $PKG"
else
echo "Unable to cache node modules for $PKG"
fi
done
}

cache_deps platform
cache_deps extensions
cache_deps modes
27 changes: 27 additions & 0 deletions netlify-lerna-restore.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/sh
NODE_MODULES_CACHE="./node_modules"
LERNA_CACHE="$NODE_MODULES_CACHE/lerna-cache"

echo "Running netlify-lerna-restore.sh"
mkdir -p "$NODE_MODULES_CACHE/lerna-cache"
echo "$NODE_MODULES_CACHE/lerna-cache/*"

restore_deps() {
PACKAGES=$(ls -1 $1)

for PKG in $PACKAGES
do
PKG_CACHE="$LERNA_CACHE/$PKG"
if [ -d $PKG_CACHE ];
then
mv $PKG_CACHE $1/$PKG/node_modules
echo "Restored node modules for $PKG"
else
echo "Unable to restore cache for $PKG"
fi
done
}

restore_deps platform
restore_deps extensions
restore_deps modes
13 changes: 6 additions & 7 deletions netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
# managed by CircleCI and deployed to our Google Hosting
#

[build]
base = ""
publish = ".netlify/www/"
command = ".netlify/build-deploy-preview.sh"

# NODE_VERSION in root `.nvmrc` takes priority
# YARN_FLAGS: https://www.netlify.com/docs/build-gotchas/#yarn
[build.environment]
Expand All @@ -17,19 +22,13 @@
YARN_VERSION = "1.22.0"
RUBY_VERSION = "2.6.2"
YARN_FLAGS = "--no-ignore-optional --pure-lockfile"
NETLIFY_RESTORE = "1"

# Production context: all deploys from the Production branch set in your site's
# deploy contexts will inherit these settings.
[context.production]
ignore = "exit 0" # Never build production; We'll let our CI do that

# Deploy Preview context: all deploys generated from a pull/merge request will
# inherit these settings.
[context.deploy-preview]
base = ""
publish = ".netlify/www/"
command = ".netlify/build-deploy-preview.sh"

[[headers]]
# Define which paths this specific [[headers]] block will cover.
for = "/*"
Expand Down
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
"docs:preview": "lerna run docs:preview --stream",
"docs:publish": "chmod +x ./build-and-publish-docs.sh && ./build-and-publish-docs.sh",
"release": "yarn run lerna:version && yarn run lerna:publish",
"lerna:cache": "[ $NETLIFY_RESTORE = 1 ] && ./netlify-lerna-cache.sh || :",
"lerna:restore": "[ $NETLIFY_RESTORE = 1 ] && ./netlify-lerna-restore.sh || :",
"preinstall": "yarn lerna:restore",
"lerna:version": "npx lerna version prerelease --force-publish",
"lerna:publish": "lerna publish from-package --canary --dist-tag canary",
"link-list": "npm ls --depth=0 --link=true"
Expand Down
3 changes: 1 addition & 2 deletions platform/ui/gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ const PnpWebpackPlugin = require(`pnp-webpack-plugin`); // Required until Webpac

exports.onCreateWebpackConfig = args => {
args.actions.setWebpackConfig({
node: { fs: 'empty' },
resolve: {
plugins: [PnpWebpackPlugin],
// Note the '..' in the path because docz gatsby project lives in the '.docz' directory
modules: [
// monorepo root
path.resolve(__dirname, '../../../node_modules'),
// platform/ui
path.resolve(__dirname, '../node_modules'),
// .docz
Expand Down

0 comments on commit f95a8c1

Please sign in to comment.