DEV: Use yarn `--frozen-lockfile` in production (#637)
authorDavid Taylor <david@taylorhq.com>
Wed, 13 Jul 2022 13:04:27 +0000 (14:04 +0100)
committerGitHub <noreply@github.com>
Wed, 13 Jul 2022 13:04:27 +0000 (14:04 +0100)
This ensures that a `yarn install` will never modify the lockfile. We always want to use the lockfile from source control.

image/base/release.Dockerfile
templates/web.template.yml

index dd4c3a5539d66588d3bfc6eb0f15b4b1597cd87b..9450259ff60f110f6c292e924936f8f5daa37d81 100644 (file)
@@ -8,7 +8,7 @@ RUN cd /var/www/discourse &&\
     sudo -u discourse bundle config --local path ./vendor/bundle &&\
     sudo -u discourse bundle config --local without test development &&\
     sudo -u discourse bundle install --jobs 4 &&\
-    sudo -u discourse yarn install --production &&\
+    sudo -u discourse yarn install --production --frozen-lockfile &&\
     sudo -u discourse yarn cache clean &&\
     bundle exec rake maxminddb:get &&\
     find /var/www/discourse/vendor/bundle -name tmp -type d -exec rm -rf {} +
index 8889160a9039e388890811551313ba6eb230e585..ee3021cf38034741b0756fced42f718e1ff38733 100644 (file)
@@ -162,7 +162,7 @@ run:
   - exec:
       cd: $home
       cmd:
-        - "[ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'"
+        - "[ ! -d 'node_modules' ] || su discourse -c 'yarn install --production --frozen-lockfile && yarn cache clean'"
 
   - exec:
       cd: $home