]> git.openstreetmap.org Git - rails.git/commitdiff
Use bin/yarn consistently for installations
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 11 Jan 2023 11:26:35 +0000 (11:26 +0000)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 11 Jan 2023 13:58:54 +0000 (13:58 +0000)
Since rails 7, the `rails yarn:install` command no longer uses
bin/yarn and so a) doesn't detect yarn binaries named "yarnpkg"
(e.g. Ubuntu) and b) doesn't allow us to pass any flags to yarn,
(e.g. "--ignore-engines").

Since we want to avoid making the installation more difficult (by
e.g. installing yarn from other sources, or requiring particular
node versions) we can instead just use our existing bin/yarn script.

The reason Dockerfile did its own thing was to avoid pulling in
big chunks of rails, but bin/yarn is a standalone ruby script.

Fixes #3579

.github/workflows/lint.yml
.github/workflows/tests.yml
Dockerfile
INSTALL.md
script/vagrant/setup/provision.sh

index bd02bd6240d8f5ff9543f2854f6304b5af5cfc13..8dd3d69a5754616214868ae8cd493cdeea18fbc1 100644 (file)
@@ -54,7 +54,7 @@ jobs:
         restore-keys: |
           yarn-${{ env.os }}-
     - name: Install node modules
-      run: bundle exec rails yarn:install
+      run: bundle exec bin/yarn install
     - name: Create dummy database configuration
       run: cp config/example.database.yml config/database.yml
     - name: Run eslint
index f01b44bb7f264da842df7c5910fef0a5bec57369..1c7afeb04072258d861552066d9c9a24dccda7d4 100644 (file)
@@ -54,7 +54,7 @@ jobs:
     - name: Export javascript strings
       run: bundle exec rails i18n:js:export
     - name: Install node modules
-      run: bundle exec rails yarn:install
+      run: bundle exec bin/yarn install
     - name: Compile assets
       run: bundle exec rails assets:precompile
     - name: Run tests
index 7d5d4982cd3d3d3d228f31d6141bc4751a15b8ef..0bd5947be5ceb1fb2cb4dc2c425f5b3e1175a6b7 100644 (file)
@@ -44,7 +44,7 @@ ADD Gemfile Gemfile.lock /app/
 RUN gem install bundler \
  && bundle install
 
-# Install NodeJS packages using yarnpkg
-# `bundle exec rails yarn:install` will not work
+# Install NodeJS packages using yarn
 ADD package.json yarn.lock /app/
-RUN yarnpkg --ignore-engines install
+ADD bin/yarn /app/bin/
+RUN bundle exec bin/yarn install
index b19ce4ffcbe217e4fc4e98a32e97e3e64f6b8857..9ea4424769b43fedcbe26eb1eea00bb55efd9e03 100644 (file)
@@ -137,7 +137,7 @@ bundle install
 We use [Yarn](https://yarnpkg.com/) to manage the Node.js modules required for the project.
 
 ```
-bundle exec rails yarn:install
+bundle exec bin/yarn install
 ```
 
 ## Prepare local settings file
index e10e144a8bcd8fd1206e89e186c4e5a6e05ec908..e114f46166b6f27875b1298eec8e8e21b7c5edfb 100644 (file)
@@ -29,7 +29,7 @@ pushd /srv/openstreetmap-website
 # do bundle install as a convenience
 bundle install --retry=10 --jobs=2
 # do yarn install as a convenience
-bundle exec rake yarn:install
+bundle exec bin/yarn install
 # create user and database for openstreetmap-website
 db_user_exists=`sudo -u postgres psql postgres -tAc "select 1 from pg_roles where rolname='vagrant'"`
 if [ "$db_user_exists" != "1" ]; then