@@ -35,69 +35,64 @@ jobs:
35
35
36
36
- uses : actions/setup-node@v4
37
37
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'
44
39
45
40
- uses : shivammathur/setup-php@v2
46
41
47
42
- name : Install root dependencies
48
- run : composer install
43
+ uses : ramsey/composer-install@v3
44
+ with :
45
+ working-directory : ${{ github.workspace }}
49
46
50
47
- name : Build root packages
51
48
run : php .github/build-packages.php
52
49
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
57
56
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
65
59
66
60
- if : matrix.ux-packages-source == 'js-packages'
67
61
name : Install UX JS packages with a JS package manager
68
- working-directory : test_apps /encore-app
62
+ working-directory : apps /encore
69
63
run : |
70
64
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") "
74
68
done
69
+
75
70
echo "Installing packages: $PACKAGES_TO_INSTALL"
76
- yarn add --dev $PACKAGES_TO_INSTALL
71
+ npm add --save- dev --install-links $PACKAGES_TO_INSTALL
77
72
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
80
75
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')
84
79
85
- echo -n "Checking $PACKAGE_NAME @$PACKAGE_VERSION..."
80
+ echo -n "Checking $PACKAGE @$PACKAGE_VERSION..."
86
81
if [[ $PACKAGE_VERSION == $EXPECTED_PATTERN* ]]; then
87
- echo " OK"
82
+ echo "✅ OK"
88
83
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."
91
86
exit 1
92
87
fi
93
88
done;
94
89
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/*' }}
96
91
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
100
95
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