Ensure consistent builds using yarn --frozen-lockfile (#2098)

As recommended by documentation:
> If you need reproducible dependencies, which is usually the case with the
> continuous integration systems, you should pass `--frozen-lockfile` flag.
-- https://yarnpkg.com/lang/en/docs/cli/install/
This commit is contained in:
Daniel Gasienica 2018-03-02 16:01:43 -05:00 committed by GitHub
parent 3df22026ab
commit 3f20feb96d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 14 deletions

View file

@ -5,7 +5,7 @@ os:
- linux - linux
dist: trusty dist: trusty
install: install:
- yarn install - yarn install --frozen-lockfile
script: script:
- yarn run generate - yarn run generate
- yarn prepare-beta-build - yarn prepare-beta-build

View file

@ -48,26 +48,25 @@ Now, run these commands in your preferred terminal in a good directory for devel
``` ```
git clone https://github.com/signalapp/Signal-Desktop.git git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop cd Signal-Desktop
npm install -g yarn # (only if you don't already have yarn) npm install --global yarn # (only if you dont already have yarn)
npm install -g grunt-cli # (only if you don't already have grunt) yarn install --frozen-lockfile # Install and build dependencies (this will take a while)
yarn install # Install and build dependencies (this will take a while) yarn grunt # Generate final JS and CSS assets
grunt # Generate final js/css assets yarn icon-gen # Generate full set of icons for Electron
yarn icon-gen # Generate full set of icons for Electron yarn test # A good idea to make sure tests run first
yarn test # A good idea to make sure tests run first yarn start # Start Signal!
yarn run start # Run!
``` ```
You'll need to restart the application regularly to see your changes, as there is no You'll need to restart the application regularly to see your changes, as there is no
automatic restart mechanism. automatic restart mechanism.
Also, note that the assets loaded by the application are not necessarily the same files Also, note that the assets loaded by the application are not necessarily the same files
you're touching. You may not see your changes until you run `grunt` on the command-line you're touching. You may not see your changes until you run `yarn grunt` on the
like you did during setup. You can make it easier on yourself by generating the latest command-line like you did during setup. You can make it easier on yourself by generating
built assets when you change a file. Run this in its own terminal instance while you make the latest built assets when you change a file. Run this in its own terminal instance
changes: while you make changes:
``` ```
grunt dev # runs until you stop it, re-generating built assets on file changes yarn grunt dev # runs until you stop it, re-generating built assets on file changes
``` ```
## Setting up standalone ## Setting up standalone

View file

@ -9,7 +9,7 @@ install:
- systeminfo | findstr /C:"OS" - systeminfo | findstr /C:"OS"
- set PATH=C:\Ruby23-x64\bin;%PATH% - set PATH=C:\Ruby23-x64\bin;%PATH%
- ps: Install-Product node 8.2.1 x64 - ps: Install-Product node 8.2.1 x64
- yarn install - yarn install --frozen-lockfile
build_script: build_script:
- yarn eslint - yarn eslint