From c1008d579cadd679d708d9588de63c5b25477171 Mon Sep 17 00:00:00 2001 From: baodev0 Date: Mon, 13 Jul 2026 11:34:32 +0700 Subject: [PATCH] Enhance deployment script with improved permissions checks and error handling for composer installation --- .github/workflows/deploy.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f1d60fe..85ec06d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,13 +16,14 @@ jobs: with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} - key: ${{ secrets.SSH_PRIVATE_KEY }} + password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script_stop: true script: | set -ex export PATH="$HOME/.phpenv/shims:$PATH" + umask 002 php -v @@ -42,7 +43,22 @@ jobs: git clone -b "$BRANCH" "${{ secrets.REPO_URL }}" . fi - composer install --optimize-autoloader --no-interaction + mkdir -p storage/framework/{cache,sessions,views} storage/logs bootstrap/cache + chmod -R u+rwX storage bootstrap/cache vendor 2>/dev/null || true + + if test -e vendor/composer/installed.php && ! test -w vendor/composer/installed.php; then + echo "vendor/composer/installed.php is not writable by $(whoami). Current ownership:" + ls -ld vendor vendor/composer vendor/composer/installed.php + exit 1 + fi + + if test -d vendor/composer && ! test -w vendor/composer; then + echo "vendor/composer is not writable by $(whoami). Current ownership:" + ls -ld vendor vendor/composer + exit 1 + fi + + composer install --optimize-autoloader --no-interaction --no-dev php artisan migrate --force