From 416ebf04e1b720c8c0b55de19002a4a34368e43d Mon Sep 17 00:00:00 2001 From: Johnnybegood90 Date: Tue, 10 Mar 2026 10:50:18 +0100 Subject: [PATCH] Deploy script robuste --- .github/workflows/deploy.yml | 65 +++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 1ca172b..5df89f0 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,6 +7,7 @@ on: - beta jobs: + deploy-main: if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest @@ -19,13 +20,37 @@ jobs: username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} script: | - cd ${{ secrets.DEPLOY_PATH }} - git fetch origin - git reset --hard origin/main - cd ${{ secrets.DEMO_DEPLOY_PATH }} - git fetch origin - git reset --hard origin/main + deploy_force () { + TARGET=$1 + BRANCH=$2 + + echo "------ Deploying $BRANCH to $TARGET ------" + + mkdir -p "$TARGET" + cd "$TARGET" + + # Si le repo est cassé ou absent → on reclone + if [ ! -d ".git" ]; then + echo "Repo absent ou cassé → reclone" + rm -rf "$TARGET"/* + git clone https://github.com/Johnnybegood90/GridTV.git . + fi + + # Force la branche + git fetch origin + + git checkout -B $BRANCH origin/$BRANCH + + git reset --hard origin/$BRANCH + git clean -fd + + echo "Deploy terminé" + } + + deploy_force "${{ secrets.DEPLOY_PATH }}" main + deploy_force "${{ secrets.DEMO_DEPLOY_PATH }}" main + deploy-beta: if: github.ref == 'refs/heads/beta' @@ -39,6 +64,28 @@ jobs: username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} script: | - cd ${{ secrets.BETA_DEPLOY_PATH }} - git fetch origin - git reset --hard origin/beta + + deploy_force () { + TARGET=$1 + BRANCH=$2 + + echo "------ Deploying $BRANCH to $TARGET ------" + + mkdir -p "$TARGET" + cd "$TARGET" + + if [ ! -d ".git" ]; then + echo "Repo absent ou cassé → reclone" + rm -rf "$TARGET"/* + git clone https://github.com/Johnnybegood90/GridTV.git . + fi + + git fetch origin + git checkout -B $BRANCH origin/$BRANCH + git reset --hard origin/$BRANCH + git clean -fd + + echo "Deploy terminé" + } + + deploy_force "${{ secrets.BETA_DEPLOY_PATH }}" beta