|
31 | 31 |
|
32 | 32 | - name: Install dependencies |
33 | 33 | run: yarn install |
| 34 | + |
| 35 | + - name: Install jq (for JSON manipulation) |
| 36 | + run: sudo apt-get update && sudo apt-get install -y jq |
34 | 37 |
|
35 | 38 | - name: Build workspace dependencies |
36 | 39 | run: | |
@@ -82,25 +85,26 @@ jobs: |
82 | 85 | rsync -rl ./packages/db/package.json ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/db/ |
83 | 86 | fi |
84 | 87 | |
85 | | - # Replace workspace references with file paths |
86 | | - TMP_PKG=$(cat ./packages/express/package.json | sed 's|"@vue-skuilder/common": "workspace:^"|"@vue-skuilder/common": "file:/home/skuilder/dist/common"|g' | sed 's|"@vue-skuilder/db": "workspace:^"|"@vue-skuilder/db": "file:/home/skuilder/dist/db"|g') |
87 | | - echo "$TMP_PKG" > ./packages/express/temp-package.json |
| 88 | + # Create package.json with absolute paths instead of workspace references |
| 89 | + echo "Creating package.json with resolved dependency paths..." |
| 90 | + cat ./packages/express/package.json | jq '.dependencies["@vue-skuilder/common"] = "file:/home/skuilder/dist/common" | .dependencies["@vue-skuilder/db"] = "file:/home/skuilder/dist/db"' > ./packages/express/temp-package.json |
| 91 | + # Upload the modified package.json |
88 | 92 | rsync -rl ./packages/express/temp-package.json ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express/${{github.sha}}/package.json |
89 | 93 | |
90 | | - # Install dependencies on the server (using full path to yarn) |
91 | | - echo "Installing dependencies for Express app..." |
92 | | - ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/express/${{github.sha}} && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install" |
93 | | - |
94 | | - # Install dependencies for workspace packages |
| 94 | + # First install dependencies for common and db packages |
95 | 95 | if [ -d "./packages/common" ]; then |
96 | 96 | echo "Installing dependencies for common package..." |
97 | | - ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/common && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install" |
| 97 | + ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/common && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install --no-immutable" |
98 | 98 | fi |
99 | 99 | |
100 | 100 | if [ -d "./packages/db" ]; then |
101 | 101 | echo "Installing dependencies for db package..." |
102 | | - ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/db && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install" |
| 102 | + ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/db && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install --no-immutable" |
103 | 103 | fi |
| 104 | + |
| 105 | + # Now install dependencies for express app |
| 106 | + echo "Installing dependencies for Express app..." |
| 107 | + ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/express/${{github.sha}} && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install --no-immutable" |
104 | 108 |
|
105 | 109 | # Update symlink to new version |
106 | 110 | ssh ${{ secrets.DO_USERNAME }}@eduquilt.com ln -sfn /home/skuilder/dist/express/${{github.SHA}} /home/skuilder/api |
|
0 commit comments