@@ -35,69 +35,64 @@ jobs:
3535
3636 - uses : actions/setup-node@v4
3737 with :
38- cache : ' yarn'
39- cache-dependency-path : |
40- yarn.lock
41- package.json
42- src/**/package.json
43- test_apps/encore-app/package.json
38+ node-version-file : ' .nvmrc'
4439
4540 - uses : shivammathur/setup-php@v2
4641
4742 - name : Install root dependencies
48- run : composer install
43+ uses : ramsey/composer-install@v3
44+ with :
45+ working-directory : ${{ github.workspace }}
4946
5047 - name : Build root packages
5148 run : php .github/build-packages.php
5249
53- # We always install PHP deps because we of the UX Translator, which requires `var/translations` to exists
54- - name : Install App dependenies
55- run : composer update
56- working-directory : test_apps/encore-app
50+ # We always install PHP deps because of the UX Translator, which requires `var/translations` to exists
51+ - name : Install PHP dependencies
52+ uses : ramsey/composer-install@v3
53+ with :
54+ working-directory : apps/encore
55+ dependency-versions : highest
5756
58- - if : matrix.ux-packages-source == 'php-vendor'
59- name : Refresh dependencies from vendor/
60- working-directory : test_apps/encore-app
61- run : yarn
62- env :
63- YARN_ENABLE_HARDENED_MODE : 0
64- YARN_ENABLE_IMMUTABLE_INSTALLS : 0
57+ - working-directory : apps/encore
58+ run : npm install --install-links
6559
6660 - if : matrix.ux-packages-source == 'js-packages'
6761 name : Install UX JS packages with a JS package manager
68- working-directory : test_apps /encore-app
62+ working-directory : apps /encore
6963 run : |
7064 PACKAGES_TO_INSTALL=''
71- for PACKAGE in $(cd ../..; yarn workspaces list --no- private --json ); do
72- PACKAGE_DIR=../../ $(echo $PACKAGE | jq -r '.location ')
73- PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL $PACKAGE_DIR "
65+ for PACKAGE_DATA in $(pnpm ls -r --json --depth -1 | jq 'map(select(. private != true))' | jq -c '.[]' ); do
66+ PACKAGE_PATH= $(echo $PACKAGE_DATA | jq -r '.path ')
67+ PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL file:$(realpath --relative-to=. "$PACKAGE_PATH") "
7468 done
69+
7570 echo "Installing packages: $PACKAGES_TO_INSTALL"
76- yarn add --dev $PACKAGES_TO_INSTALL
71+ npm add --save- dev --install-links $PACKAGES_TO_INSTALL
7772
78- - name : Ensure UX packages are installed from "${{ matrix.ux-packages-source == 'php-vendor' && 'vendor/symfony/ux-...' || '../../../src/**/assets' }}"
79- working-directory : test_apps /encore-app
73+ - name : Ensure UX packages are installed from "${{ env.EXPECTED_PATTERN }}"
74+ working-directory : apps /encore
8075 run : |
81- for PACKAGE in $(cat package.json | jq -c '(.dependencies // {}) + (.devDependencies // {}) | to_entries[] | select(.key | startswith("@symfony/ux-")) | {name: .key, version: .value}'); do
82- PACKAGE_NAME =$(echo $PACKAGE | jq -r '.name')
83- PACKAGE_VERSION=$(echo $PACKAGE | jq -r '.version')
76+ for PACKAGE_DATA in $(cat package.json | jq -c '(.dependencies // {}) + (.devDependencies // {}) | to_entries[] | select(.key | startswith("@symfony/ux-")) | {name: .key, version: .value}'); do
77+ PACKAGE =$(echo $PACKAGE_DATA | jq -r '.name')
78+ PACKAGE_VERSION=$(echo $PACKAGE_DATA | jq -r '.version')
8479
85- echo -n "Checking $PACKAGE_NAME @$PACKAGE_VERSION..."
80+ echo -n "Checking $PACKAGE @$PACKAGE_VERSION..."
8681 if [[ $PACKAGE_VERSION == $EXPECTED_PATTERN* ]]; then
87- echo " OK"
82+ echo "✅ OK"
8883 else
89- echo " KO"
90- echo "The package version of $PACKAGE_NAME must starts with the pattern (e.g.: $EXPECTED_PATTERN), got $PACKAGE_VERSION instead."
84+ echo "❌ KO"
85+ echo "ℹ️ The package version of $PACKAGE must starts with the pattern (e.g.: $EXPECTED_PATTERN), got $PACKAGE_VERSION instead."
9186 exit 1
9287 fi
9388 done;
9489 env :
95- EXPECTED_PATTERN : ${{ matrix.ux-packages-source == 'php-vendor' && 'file:vendor/symfony/*' || '../../src/*' }}
90+ EXPECTED_PATTERN : ${{ matrix.ux-packages-source == 'php-vendor' && 'file:vendor/symfony/*' || 'file: ../../src/*' }}
9691
97- - name : Run Encore ( dev)
98- working-directory : test_apps /encore-app
99- run : yarn encore dev
92+ - name : Ensure project can be built in dev mode
93+ working-directory : apps /encore
94+ run : npm run dev
10095
101- - name : Run Encore ( prod)
102- working-directory : test_apps /encore-app
103- run : yarn encore production
96+ - name : Ensure project can be built in prod mode
97+ working-directory : apps /encore
98+ run : npm run build
0 commit comments