5858 strategy :
5959 fail-fast : false
6060 matrix :
61+ js_package_manager :
62+ - name : npm
63+ installer : npm
64+ - name : yarn_classic
65+ installer : yarn
66+ - name : pnpm
67+ installer : pnpm
6168 ruby : [2.7]
6269 gemfile :
6370 # These have shakapacker:
@@ -73,12 +80,13 @@ jobs:
7380 # Workaround b/c upgrading Minitest broke some mocking expectations
7481 # having to do with automatic kwarg splatting
7582 MT_KWARGS_HACK : 1
83+ PACKAGE_JSON_FALLBACK_MANAGER : ${{ matrix.js_package_manager.name }}
7684 steps :
7785 - uses : actions/checkout@v4
7886 with :
7987 persist-credentials : false
8088 - uses : actions/setup-node@v3
81- - run : npm -g install yalc
89+ - run : npm -g install yalc ${{ matrix.js_package_manager.installer }}
8290 - run : yalc publish
8391 - name : Save root node_modules to cache
8492 uses : actions/cache@v3
@@ -94,14 +102,15 @@ jobs:
94102 with :
95103 bundler : 2.4.9
96104 ruby-version : ${{ matrix.ruby }}
105+ - run : ./test/bin/create-fake-js-package-managers ${{ matrix.js_package_manager.installer }}
97106 - name : Save dummy app ruby gems to cache
98107 uses : actions/cache@v3
99108 with :
100109 path : test/dummy/vendor/bundle
101110 key : dummy-app-gem-cache-${{ hashFiles('${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile.lock') }}
102111 - name : Install Ruby Gems for dummy app
103112 run : bundle lock --add-platform 'x86_64-linux' && bundle check --path=test/dummy/vendor/bundle || bundle _2.4.9_ install --frozen --path=test/dummy/vendor/bundle --jobs=4 --retry=3
104- - run : cd test/dummy && yalc add react_ujs && yarn
113+ - run : cd test/dummy && yalc add react_ujs && ${{ matrix.js_package_manager.installer }} install
105114 - run : bundle exec rake test
106115 env :
107116 NODE_OPTIONS : --openssl-legacy-provider
0 commit comments