From 4274d32f9c4985befae4c37103647d0deec6ad71 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:38:58 +0100 Subject: [PATCH 01/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index 944e53d4..995c3e3a 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -34,6 +34,11 @@ function kill_process_with_pid() { fi } +COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ + -d "Github Token success" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/hngprojects/pr-deploy/issues/${PR_NUMBER}/comments" +exit 0 # Setup directory mkdir -p ${DEPLOY_FOLDER}/ From 7f043201f79647afde09ee2cb3b80d05795962ff Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:50:29 +0100 Subject: [PATCH 02/84] Update pr-deploy.yml Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml index 1d1ced5c..06117be0 100644 --- a/.github/workflows/pr-deploy.yml +++ b/.github/workflows/pr-deploy.yml @@ -21,6 +21,6 @@ jobs: dockerfile: 'Dockerfile' exposed_port: '5000' github_token: ${{ secrets.GITHUB_TOKEN }} - envs: | - VITE_API_URL=http://localhost:5000 - NODE_ENV=production \ No newline at end of file + # envs: | + # VITE_API_URL=http://localhost:5000 + # NODE_ENV=production From 53c5d9aaa1873fff51cb3c887566c7be57bf7e01 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:55:12 +0100 Subject: [PATCH 03/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 995c3e3a..ca332a5c 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -10,7 +10,6 @@ REPO_ID=$5 BRANCH=$6 PR_ACTION=$7 PR_NUMBER=$8 -# ENVS="$9" COMMENT_ID=$9 PR_ID="pr_${REPO_ID}${PR_NUMBER}" # JSON file to store PIDs @@ -113,12 +112,6 @@ echo "Building docker image..." sudo docker build -t $PR_ID -f $DOCKERFILE . echo "Running docker container..." -# sudo docker run -d -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID - -# ENV_ARGS=$(echo "$ENVS" | tr ',' '\n' | sed 's/^/-e /' | tr '\n' ' ') -# ENV_ARGS=$(echo "$ENVS" | sed 's/^/-e /' | tr '\n' ' ') -# echo "ENV_ARGS: $ENVS" -# ENV_ARGS=$(echo "$ENVS" | sed 's/^/-e /' | sed ':a;N;$!ba;s/\n/ -e /g') sudo docker run -d -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID echo "Start SSH session..." From 05612072f216b3a8d4eb36d7086ce99f4218ddd3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:55:59 +0100 Subject: [PATCH 04/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 50dc7c71..68b1dde5 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -81,8 +81,6 @@ SANITIZED_OUTPUT=$(echo "$REMOTE_OUTPUT" | sed 's/[[:cntrl:]]//g') COMMENT_ID=$(echo "$SANITIZED_OUTPUT" | jq -r '.COMMENT_ID') DEPLOYED_URL=$(echo "$SANITIZED_OUTPUT" | jq -r '.DEPLOYED_URL') -echo "ENVS1=$ENVS" - if [ "$COMMENT_ID" == "null" ]; then # Checks if the action is opened if [[ "$PR_ACTION" == "opened" || "$PR_ACTION" == "synchronize" || "$PR_ACTION" == "reopened" ]]; then @@ -90,7 +88,6 @@ if [ "$COMMENT_ID" == "null" ]; then elif [ "$PR_ACTION" == "closed" ]; then comment "Terminated 🛑" "#" fi - echo "ENVS2=$ENVS" # Run the pr-deploy.sh script on the remote server and capture the output from the remote script NEW_REMOTE_OUTPUT=$(sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID | tail -n 1) From 1e8d19e70e47cc18c984045ce76ccd6830a019db Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:57:47 +0100 Subject: [PATCH 05/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index ca332a5c..dc110960 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -33,7 +33,7 @@ function kill_process_with_pid() { fi } -COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ +curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ -d "Github Token success" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/hngprojects/pr-deploy/issues/${PR_NUMBER}/comments" From 16cee9a9c360bc661a3005a19af62ecf9566bfaa Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 14:59:46 +0100 Subject: [PATCH 06/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index dc110960..439a0381 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -33,6 +33,7 @@ function kill_process_with_pid() { fi } +echo "GITHUB TOKEN: $GITHUB_TOKEN" curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ -d "Github Token success" \ -H "Accept: application/vnd.github.v3+json" \ From 24326af714255cf9e2f8f8e9cdb1784680d45f0f Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 15:01:17 +0100 Subject: [PATCH 07/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 68b1dde5..e2b0911c 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -72,7 +72,7 @@ fi sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh # Run the pr-deploy.sh script on the remote server and capture the output from the remote script -REMOTE_OUTPUT=$(sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID | tail -n 1) +REMOTE_OUTPUT=$(sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "GITHUB_TOKEN=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" | tail -n 1) # Ensure the output is valid JSON by escaping problematic characters SANITIZED_OUTPUT=$(echo "$REMOTE_OUTPUT" | sed 's/[[:cntrl:]]//g') From d7f04d37ab35d96d26527c8fb4c06378cfe1ad7d Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 15:02:28 +0100 Subject: [PATCH 08/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index e2b0911c..87895653 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -72,7 +72,7 @@ fi sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh # Run the pr-deploy.sh script on the remote server and capture the output from the remote script -REMOTE_OUTPUT=$(sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "GITHUB_TOKEN=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" | tail -n 1) +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "GITHUB_TOKEN=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" # Ensure the output is valid JSON by escaping problematic characters SANITIZED_OUTPUT=$(echo "$REMOTE_OUTPUT" | sed 's/[[:cntrl:]]//g') From 0692b8b5eabdff79cc30a587b82cd699790ea0d0 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 15:05:30 +0100 Subject: [PATCH 09/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 439a0381..2204230f 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -35,7 +35,7 @@ function kill_process_with_pid() { echo "GITHUB TOKEN: $GITHUB_TOKEN" curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ - -d "Github Token success" \ + -d '{"body": "Github Token success"}' \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/hngprojects/pr-deploy/issues/${PR_NUMBER}/comments" exit 0 From 0c7271c676a008b45b8d6cac8696c650b4115a7b Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 15:15:22 +0100 Subject: [PATCH 10/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 102 +++++++------------------------------------------- 1 file changed, 14 insertions(+), 88 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 87895653..e8646ee9 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -10,94 +10,20 @@ function handle_error { # Set up trap to handle errors trap 'handle_error' ERR -comment() { - local status_message=$1 - local preview_url=$2 - - echo $status_message - - local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 - - - - - - - - - - - - - - - - - -
Deployed ByStatusPreview URLUpdated At (UTC)
PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')
" '{body: $body}') - - if [ -z "$COMMENT_ID" ]; then - # Create a new comment - COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ - -d "$comment_body" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') - - elif [ "$COMMENT_ID" == "null" ]; then - # Create a new comment - COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ - -d "$comment_body" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') - else - # Update an existing comment - curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ - -d "$comment_body" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/comments/${COMMENT_ID}" > /dev/null - fi -} - -REPO_ID=$(curl -L \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer $GITHUB_TOKEN" \ - https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME} | jq -r '.id') - -# Checks if the action is opened -if [ "$PR_ACTION" == "opened" ]; then - comment "Deploying ⏳" "#" -fi - # Copy the pr-deploy.sh script to the remote server. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -# Run the pr-deploy.sh script on the remote server and capture the output from the remote script -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "GITHUB_TOKEN=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" - -# Ensure the output is valid JSON by escaping problematic characters -SANITIZED_OUTPUT=$(echo "$REMOTE_OUTPUT" | sed 's/[[:cntrl:]]//g') - -# Parse the sanitized JSON -COMMENT_ID=$(echo "$SANITIZED_OUTPUT" | jq -r '.COMMENT_ID') -DEPLOYED_URL=$(echo "$SANITIZED_OUTPUT" | jq -r '.DEPLOYED_URL') - -if [ "$COMMENT_ID" == "null" ]; then - # Checks if the action is opened - if [[ "$PR_ACTION" == "opened" || "$PR_ACTION" == "synchronize" || "$PR_ACTION" == "reopened" ]]; then - comment "Deploying ⏳" "#" - elif [ "$PR_ACTION" == "closed" ]; then - comment "Terminated 🛑" "#" - fi - - # Run the pr-deploy.sh script on the remote server and capture the output from the remote script - NEW_REMOTE_OUTPUT=$(sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID | tail -n 1) - exit 0 -fi - -if [ -z "$DEPLOYED_URL" ]; then - if [ "$PR_ACTION" == "closed" ]; then - comment "Terminated 🛑" "#" && exit 0 - fi - comment "Failed ❌" "#" && exit 1 -fi -comment "Deployed 🎉" $DEPLOYED_URL +# Run the pr-deploy.sh script on the remote server. +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST < Date: Fri, 2 Aug 2024 15:56:46 +0100 Subject: [PATCH 11/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index e8646ee9..728cb093 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -19,6 +19,8 @@ GITHUB_TOKEN=$GITHUB_TOKEN CONTEXT=$CONTEXT DOCKERFILE=$DOCKERFILE EXPOSED_PORT=$EXPOSED_PORT +REPO_OWNER=$REPO_OWNER +REPO_NAME=$REPO_NAME REPO_URL=$REPO_URL REPO_ID=$REPO_ID GITHUB_HEAD_REF=$GITHUB_HEAD_REF From 091a5c0a1337a8212a687601a103b7f8352d2419 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 16:46:20 +0100 Subject: [PATCH 12/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 728cb093..12e0cfc8 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,13 +3,6 @@ # Exit immediately if a command exits with a non-zero status. set -e -function handle_error { - comment "Failed ❌" "#" && exit 1 -} - -# Set up trap to handle errors -trap 'handle_error' ERR - # Copy the pr-deploy.sh script to the remote server. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh From 4ee8a8e1f6aa5e91cc55c2ba0af8ddb1e02ed2f0 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 16:58:01 +0100 Subject: [PATCH 13/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 136 ++++++++++++++++++++++++--------------------------- 1 file changed, 65 insertions(+), 71 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 2204230f..a95912fd 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -2,58 +2,78 @@ set -e -CONTEXT=$1 -DOCKERFILE=$2 -EXPOSED_PORT=$3 -REPO_URL=$4 -REPO_ID=$5 -BRANCH=$6 -PR_ACTION=$7 -PR_NUMBER=$8 -COMMENT_ID=$9 PR_ID="pr_${REPO_ID}${PR_NUMBER}" -# JSON file to store PIDs +DEPLOY_FOLDER="/srv/pr-deploy" PID_FILE="/srv/pr-deploy/nohup.json" COMMENT_ID_FILE="/srv/pr-deploy/comments.json" -DEPLOY_FOLDER="/srv/pr-deploy" -function handle_error { - echo "{\"COMMENT_ID\": \"$COMMENT_ID\", \"DEPLOYED_URL\": \"\"}" - exit 1 +comment() { + local status_message=$1 + local preview_url=$2 + + echo $status_message + + local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 + + + + + + + + + + + + + + + + + +
Deployed ByStatusPreview URLUpdated At (UTC)
PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')
" '{body: $body}') + + if [ -z "$COMMENT_ID" ]; then + # Create a new comment + COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ + -d "$comment_body" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') + jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > $COMMENT_ID_FILE + else + # Update the existing comment + curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ + -d "$comment_body" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/comments/${COMMENT_ID}" > /dev/null } -# This helps to kill the process created by nohup using the process id -function kill_process_with_pid() { - # serveo - local key=$1 - ID=$(jq -r --arg key "$key" '.[$key]' "${PID_FILE}") - if [ -n $ID ]; then - kill -9 $ID - jq --arg key "$key" 'del(.[$key])' "${PID_FILE}" > tmp && mv tmp "${PID_FILE}" +function cleanup() { + PID=$(jq -r --arg key $PR_ID '.[$key]' ${PID_FILE}) + if [ -n $PID ]; then + kill -9 $PID + jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} fi + [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID + [ -n "$IMAGE_ID" ] && sudo docker rmi -f $IMAGE_ID } -echo "GITHUB TOKEN: $GITHUB_TOKEN" -curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ - -d '{"body": "Github Token success"}' \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/hngprojects/pr-deploy/issues/${PR_NUMBER}/comments" -exit 0 # Setup directory mkdir -p ${DEPLOY_FOLDER}/ # Initialize the JSON file for nohup if it doesn't exist -if [ ! -f "$PID_FILE" ]; then - echo "{}" > "$PID_FILE" +if [ ! -f $PID_FILE ]; then + echo {} > $PID_FILE fi # Initialize the JSON file for comment if it doesn't exist -if [ ! -f "$COMMENT_ID_FILE" ]; then - echo "{}" > "$COMMENT_ID_FILE" +if [ ! -f $COMMENT_ID_FILE ]; then + echo {} > $COMMENT_ID_FILE fi -# Set up trap to handle errors -trap 'handle_error' ERR +# Handle COMMENT_ID +COMMENT_ID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${COMMENT_ID_FILE}) +comment "Deploying ⏳" "#" # Ensure docker is installed if [ ! command -v docker &> /dev/null ]; then @@ -73,19 +93,6 @@ FREE_PORT=$(python3 -c 'import socket; s = socket.socket(); s.bind(("", 0)); pri cd ${DEPLOY_FOLDER} rm -rf $PR_ID -# Handle COMMENT_ID -if [ -n "$COMMENT_ID" ]; then - # echo "$COMMENT_ID" > "${PR_ID}.txt" - jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > tmp.$$.json && mv tmp.$$.json "$COMMENT_ID_FILE" -else - if [ -f "$COMMENT_ID_FILE" ]; then - COMMENT_ID=$(jq -r --arg key "$PR_ID" '.[$key]' "${COMMENT_ID_FILE}") - - else - COMMENT_ID="" - fi -fi - # Get container and image IDs CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") @@ -93,44 +100,31 @@ IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") # Handle different PR actions case $PR_ACTION in reopened | synchronize | closed) - # Stop and force remove containers if they exist - [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID - - # Force remove images if they exist - [ -n "$IMAGE_ID" ] && sudo docker rmi -f $IMAGE_ID - - # Exit early for 'closed' action - [ "$PR_ACTION" == "closed" ] && echo "{\"COMMENT_ID\": \"$COMMENT_ID\", \"DEPLOYED_URL\": \"\"}" && kill_process_with_pid $PR_ID && exit 0 + cleanup + [ "$PR_ACTION" == "closed" ] && comment "Terminated 🛑" "#" && exit 0 ;; esac # Git clone and Docker operations -echo "Git Clone ..." git clone -b $BRANCH $REPO_URL $PR_ID -cd $PR_ID +cd $PR_ID/$CONTEXT -echo "Building docker image..." +# Build and run Docker Container sudo docker build -t $PR_ID -f $DOCKERFILE . - -echo "Running docker container..." sudo docker run -d -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID -echo "Start SSH session..." +# Start SSH Tunnel nohup ssh -tt -o StrictHostKeyChecking=no -R 80:localhost:$FREE_PORT serveo.net > serveo_output.log 2>&1 & SERVEO_PID=$! sleep 3 - - -# Check if Serveo tunnel was set up successfully DEPLOYED_URL=$(grep "Forwarding HTTP traffic from" serveo_output.log | tail -n 1 | awk '{print $5}') # update the nohup ids -if [ -n DEPLOYED_URL ]; then - # jq --arg pid "$SERVEO_PID" '.serveo = $pid' "$PID_FILE" > tmp.$$.json && mv tmp.$$.json "$PID_FILE" - jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > tmp.$$.json && mv tmp.$$.json "$PID_FILE" - +if [ -n $SERVEO_PID ]; then + jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > "$PID_FILE" fi - -# Output the final JSON -echo "{\"COMMENT_ID\": \"$COMMENT_ID\", \"DEPLOYED_URL\": \"$DEPLOYED_URL\"}" +if [ -z "$DEPLOYED_URL" ]; then + comment "Failed ❌" "#" && exit 1 +fi +comment "Deployed 🎉" $DEPLOYED_URL From f6783e8b29f0e1087f5f106c02e5f04fc7739044 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:00:56 +0100 Subject: [PATCH 14/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index a95912fd..0ecdbde8 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -39,7 +39,7 @@ comment() { -d "$comment_body" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') - jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > $COMMENT_ID_FILE + jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" else # Update the existing comment curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ From f41cef85d8fea10438cf958eb6a58f44edc2843f Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:03:03 +0100 Subject: [PATCH 15/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 0ecdbde8..dac68267 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -48,7 +48,7 @@ comment() { "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/comments/${COMMENT_ID}" > /dev/null } -function cleanup() { +cleanup() { PID=$(jq -r --arg key $PR_ID '.[$key]' ${PID_FILE}) if [ -n $PID ]; then kill -9 $PID From 0170f856e5f706490b891a6aad4cff039e4c1772 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:05:41 +0100 Subject: [PATCH 16/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 49 ++++--------------------------------------------- 1 file changed, 4 insertions(+), 45 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index dac68267..1887d41c 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -8,54 +8,13 @@ PID_FILE="/srv/pr-deploy/nohup.json" COMMENT_ID_FILE="/srv/pr-deploy/comments.json" comment() { - local status_message=$1 - local preview_url=$2 - - echo $status_message - - local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 - - - - - - - - - - - - - - - - - -
Deployed ByStatusPreview URLUpdated At (UTC)
PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')
" '{body: $body}') - - if [ -z "$COMMENT_ID" ]; then - # Create a new comment - COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ - -d "$comment_body" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') - jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" - else - # Update the existing comment - curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ - -d "$comment_body" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/comments/${COMMENT_ID}" > /dev/null + echo "comment" + } cleanup() { - PID=$(jq -r --arg key $PR_ID '.[$key]' ${PID_FILE}) - if [ -n $PID ]; then - kill -9 $PID - jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} - fi - [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID - [ -n "$IMAGE_ID" ] && sudo docker rmi -f $IMAGE_ID + echo "cleanup" + } # Setup directory From 3cc74681fd0d64b444c23b3d2b7108ad6c6facc1 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:10:05 +0100 Subject: [PATCH 17/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 1887d41c..a06b02ea 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -8,13 +8,53 @@ PID_FILE="/srv/pr-deploy/nohup.json" COMMENT_ID_FILE="/srv/pr-deploy/comments.json" comment() { - echo "comment" - + local status_message=$1 + local preview_url=$2 + + local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 + + + + + + + + + + + + + + + + + +
Deployed ByStatusPreview URLUpdated At (UTC)
PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')
" '{body: $body}') + + if [ -z "$COMMENT_ID" ]; then + # Create a new comment + COMMENT_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -X POST \ + -d "$comment_body" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') + jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" + else + # Update the existing comment + curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ + -d "$comment_body" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/comments/${COMMENT_ID}" > /dev/null + fi } cleanup() { - echo "cleanup" - + PID=$(jq -r --arg key $PR_ID '.[$key]' ${PID_FILE}) + if [ -n $PID ]; then + kill -9 $PID + jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} + fi + [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID + [ -n "$IMAGE_ID" ] && sudo docker rmi -f $IMAGE_ID } # Setup directory From f78448ed0bc9300c4bd2e54f822c2c3c950d44b1 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:11:25 +0100 Subject: [PATCH 18/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 12e0cfc8..2e1f294b 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -16,7 +16,7 @@ REPO_OWNER=$REPO_OWNER REPO_NAME=$REPO_NAME REPO_URL=$REPO_URL REPO_ID=$REPO_ID -GITHUB_HEAD_REF=$GITHUB_HEAD_REF +BRANCH=$GITHUB_HEAD_REF PR_ACTION=$PR_ACTION PR_NUMBER=$PR_NUMBER COMMENT_ID=$COMMENT_ID From 3bc8aae52848141ad35534131a66d3fcee5d16ac Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:13:50 +0100 Subject: [PATCH 19/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index a06b02ea..b5d39db4 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -104,6 +104,7 @@ case $PR_ACTION in ;; esac +echo "Branch: $BRANCH, REPO_URL: $REPO_URL, PR: $PR_ID" # Git clone and Docker operations git clone -b $BRANCH $REPO_URL $PR_ID cd $PR_ID/$CONTEXT From 030e69345faef7765ac4e2c456dd4ad20f45408c Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:16:46 +0100 Subject: [PATCH 20/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 2e1f294b..ead0e78e 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,18 +7,4 @@ set -e sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh # Run the pr-deploy.sh script on the remote server. -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST < Date: Fri, 2 Aug 2024 17:17:31 +0100 Subject: [PATCH 21/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index ead0e78e..fbd739d0 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,4 +7,4 @@ set -e sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh # Run the pr-deploy.sh script on the remote server. -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL bash /srv/pr-deploy.sh' +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; bash /srv/pr-deploy.sh' From 22946e920a04cccbfade330a487a97eab9c060c3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:22:07 +0100 Subject: [PATCH 22/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/entrypoint.sh b/entrypoint.sh index fbd739d0..8ea7aeae 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -7,4 +7,5 @@ set -e sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh # Run the pr-deploy.sh script on the remote server. +echo "REPO_URL: $REPO_URL" sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; bash /srv/pr-deploy.sh' From bcc9be548c8deba0db6d02bc07b0a01f1ae3aa58 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:23:38 +0100 Subject: [PATCH 23/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index b5d39db4..418ce535 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -61,12 +61,12 @@ cleanup() { mkdir -p ${DEPLOY_FOLDER}/ # Initialize the JSON file for nohup if it doesn't exist -if [ ! -f $PID_FILE ]; then +if [ ! -f "$PID_FILE" ]; then echo {} > $PID_FILE fi # Initialize the JSON file for comment if it doesn't exist -if [ ! -f $COMMENT_ID_FILE ]; then +if [ ! -f "$COMMENT_ID_FILE" ]; then echo {} > $COMMENT_ID_FILE fi From 1bab8cbc008deb2a44a64e5423fc387a018420d7 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:25:06 +0100 Subject: [PATCH 24/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 418ce535..0679964f 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e - +echo "REPO_URL!: $REPO_URL" PR_ID="pr_${REPO_ID}${PR_NUMBER}" DEPLOY_FOLDER="/srv/pr-deploy" PID_FILE="/srv/pr-deploy/nohup.json" From 343c86c1f393cdaa57a6141cfabec54039f23a5c Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:29:40 +0100 Subject: [PATCH 25/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 8ea7aeae..663223c7 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -8,4 +8,4 @@ sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr # Run the pr-deploy.sh script on the remote server. echo "REPO_URL: $REPO_URL" -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; bash /srv/pr-deploy.sh' +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' From 2835f5b73e23554b99e3f81ab38d8e19256db479 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:37:20 +0100 Subject: [PATCH 26/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 663223c7..6bc0ab14 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -8,4 +8,5 @@ sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr # Run the pr-deploy.sh script on the remote server. echo "REPO_URL: $REPO_URL" -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST \ + "REPO_URL='$REPO_URL'; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh" From 5182e13ef7aaabbdf19d7c251f2c4685c563105e Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:41:20 +0100 Subject: [PATCH 27/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 6bc0ab14..857f30e8 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -4,9 +4,12 @@ set -e # Copy the pr-deploy.sh script to the remote server. -sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh +# Create a remote script that sets the variable and runs the main script. +echo '#!/bin/bash' > remote_script.sh +echo "REPO_URL='$REPO_URL'" >> remote_script.sh +echo 'chmod +x /srv/pr-deploy.sh' >> remote_script.sh +echo '/srv/pr-deploy.sh' >> remote_script.sh -# Run the pr-deploy.sh script on the remote server. -echo "REPO_URL: $REPO_URL" -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST \ - "REPO_URL='$REPO_URL'; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh" +# Copy and execute the remote script. +sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT remote_script.sh $SERVER_USERNAME@$SERVER_HOST:/root/remote_script.sh +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'bash /root/remote_script.sh' From 4da48e1eb81e621a2a895993ae6266a38c564661 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:50:48 +0100 Subject: [PATCH 28/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 857f30e8..291d5c86 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,9 +6,9 @@ set -e # Copy the pr-deploy.sh script to the remote server. # Create a remote script that sets the variable and runs the main script. echo '#!/bin/bash' > remote_script.sh -echo "REPO_URL='$REPO_URL'" >> remote_script.sh -echo 'chmod +x /srv/pr-deploy.sh' >> remote_script.sh -echo '/srv/pr-deploy.sh' >> remote_script.sh +echo "REPO_URL='$REPO_URL'" + +echo ls # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT remote_script.sh $SERVER_USERNAME@$SERVER_HOST:/root/remote_script.sh From 267dfc0287d515f8d656c81d156c03df51657543 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:53:30 +0100 Subject: [PATCH 29/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 291d5c86..ad67a851 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,10 +6,10 @@ set -e # Copy the pr-deploy.sh script to the remote server. # Create a remote script that sets the variable and runs the main script. echo '#!/bin/bash' > remote_script.sh -echo "REPO_URL='$REPO_URL'" - -echo ls +echo "REPO_URL='$REPO_URL'" >remote_script.sh # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT remote_script.sh $SERVER_USERNAME@$SERVER_HOST:/root/remote_script.sh +# sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'bash /root/remote_script.sh' +# sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' From 571691f1ecb6afcca74ce18b2597ebf400befdba Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 17:55:04 +0100 Subject: [PATCH 30/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index ad67a851..9e668ac9 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,13 +3,6 @@ # Exit immediately if a command exits with a non-zero status. set -e -# Copy the pr-deploy.sh script to the remote server. -# Create a remote script that sets the variable and runs the main script. -echo '#!/bin/bash' > remote_script.sh -echo "REPO_URL='$REPO_URL'" >remote_script.sh - # Copy and execute the remote script. -sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT remote_script.sh $SERVER_USERNAME@$SERVER_HOST:/root/remote_script.sh -# sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'bash /root/remote_script.sh' -# sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=$REPO_URL; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' +sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=${REPO_URL}; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' From e0fe2219aadde289480397a903b95a24cf2aa9cb Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:11:33 +0100 Subject: [PATCH 31/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 9e668ac9..0931d590 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,4 +5,4 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST 'REPO_URL=${REPO_URL}; chmod +x /srv/pr-deploy.sh; /srv/pr-deploy.sh' +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "REPO_URL=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" From 2a1885d34cbeeb8271745327eb4471de1d4fc0ae Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:12:23 +0100 Subject: [PATCH 32/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 0931d590..cb956d80 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,4 +5,4 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "REPO_URL=$GITHUB_TOKEN bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "REPO_URL=$REPO_URL bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" From b4a1948c70343edc4b9cfbcf72f15c929da32294 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:14:05 +0100 Subject: [PATCH 33/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index cb956d80..742ad884 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,4 +5,18 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "REPO_URL=$REPO_URL bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST < Date: Fri, 2 Aug 2024 18:27:33 +0100 Subject: [PATCH 34/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 742ad884..8c6529b8 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -18,5 +18,5 @@ BRANCH=$GITHUB_HEAD_REF PR_ACTION=$PR_ACTION PR_NUMBER=$PR_NUMBER COMMENT_ID=$COMMENT_ID -bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" +bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID EOF From 7cb617786ce15407667d8075ccb45c8492982e08 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:29:28 +0100 Subject: [PATCH 35/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 8c6529b8..cb956d80 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,18 +5,4 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST < Date: Fri, 2 Aug 2024 18:31:13 +0100 Subject: [PATCH 36/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index cb956d80..02b844dd 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,4 +5,4 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "REPO_URL=$REPO_URL bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "BRANCH=$GITHUB_HEAD_REF REPO_URL=$REPO_URL bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" From be7f83639eee4215aa7b54225a2ddddb9abd8395 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:32:20 +0100 Subject: [PATCH 37/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 02b844dd..0c929799 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,4 +5,4 @@ set -e # Copy and execute the remote script. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "BRANCH=$GITHUB_HEAD_REF REPO_URL=$REPO_URL bash /srv/pr-deploy.sh $CONTEXT $DOCKERFILE $EXPOSED_PORT $REPO_URL $REPO_ID $GITHUB_HEAD_REF $PR_ACTION $PR_NUMBER $COMMENT_ID" +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "BRANCH=$GITHUB_HEAD_REF REPO_URL=$REPO_URL bash /srv/pr-deploy.sh" From 50f3aeb24800822a2c2fafe5a3469cc8b2167ad4 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:37:26 +0100 Subject: [PATCH 38/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 0c929799..4f976a7d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,6 +3,21 @@ # Exit immediately if a command exits with a non-zero status. set -e -# Copy and execute the remote script. +# Copy the script to the remote server. sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no -P $SERVER_PORT pr-deploy.sh $SERVER_USERNAME@$SERVER_HOST:/srv/pr-deploy.sh -sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST "BRANCH=$GITHUB_HEAD_REF REPO_URL=$REPO_URL bash /srv/pr-deploy.sh" + +# Run the script on the remote server with environment variables. +sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $SERVER_USERNAME@$SERVER_HOST \ + "GITHUB_TOKEN='$GITHUB_TOKEN' \ + CONTEXT='$CONTEXT' \ + DOCKERFILE='$DOCKERFILE' \ + EXPOSED_PORT='$EXPOSED_PORT' \ + REPO_OWNER='$REPO_OWNER' \ + REPO_NAME='$REPO_NAME' \ + REPO_URL='$REPO_URL' \ + REPO_ID='$REPO_ID' \ + BRANCH='$GITHUB_HEAD_REF' \ + PR_ACTION='$PR_ACTION' \ + PR_NUMBER='$PR_NUMBER' \ + COMMENT_ID='$COMMENT_ID' \ + bash /srv/pr-deploy.sh" From 8b946c0c5107029464e8e83ea50e8bca853445c7 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:41:34 +0100 Subject: [PATCH 39/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 0679964f..52960001 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -12,24 +12,24 @@ comment() { local preview_url=$2 local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 - +
- - - - + + + + - - - - + + + + -
Deployed ByStatusPreview URLUpdated At (UTC)Deployed ByStatusPreview URLUpdated At (UTC)
PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')PR Deploy${status_message}Visit Preview$(date +'%b %d, %Y %I:%M%p')
" '{body: $body}') +" '{body: $body}') if [ -z "$COMMENT_ID" ]; then # Create a new comment @@ -48,7 +48,7 @@ comment() { } cleanup() { - PID=$(jq -r --arg key $PR_ID '.[$key]' ${PID_FILE}) + PID=$(jq -r --arg key $PR_ID '.[$key]' // ""' ${PID_FILE}) if [ -n $PID ]; then kill -9 $PID jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} From e9602a7752abd2ea6d7a827679d2a0f74dd0423a Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:43:34 +0100 Subject: [PATCH 40/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 52960001..b8942021 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -48,7 +48,7 @@ comment() { } cleanup() { - PID=$(jq -r --arg key $PR_ID '.[$key]' // ""' ${PID_FILE}) + PID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${PID_FILE}) if [ -n $PID ]; then kill -9 $PID jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} From e98b72f5d2fbb7018d3c1ec43bd09c74070512f1 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:46:12 +0100 Subject: [PATCH 41/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index b8942021..c87be12c 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -50,7 +50,7 @@ comment() { cleanup() { PID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${PID_FILE}) if [ -n $PID ]; then - kill -9 $PID + kill -9 $PID || true jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} fi [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID From cff6a31358624a24ec13c843cc764a69c81f6d92 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:52:02 +0100 Subject: [PATCH 42/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index c87be12c..cdbca001 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -48,15 +48,20 @@ comment() { } cleanup() { - PID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${PID_FILE}) - if [ -n $PID ]; then - kill -9 $PID || true - jq --arg key $PR_ID 'del(.[$key])' "${PID_FILE}" > ${PID_FILE} + PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") + + if [ -n "$PID" ]; then + kill -9 "$PID" || true + jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi - [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 $CONTAINER_ID && sudo docker rm -f $CONTAINER_ID - [ -n "$IMAGE_ID" ] && sudo docker rmi -f $IMAGE_ID + CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") + [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" + + IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") + [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" } + # Setup directory mkdir -p ${DEPLOY_FOLDER}/ @@ -92,10 +97,6 @@ FREE_PORT=$(python3 -c 'import socket; s = socket.socket(); s.bind(("", 0)); pri cd ${DEPLOY_FOLDER} rm -rf $PR_ID -# Get container and image IDs -CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") -IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") - # Handle different PR actions case $PR_ACTION in reopened | synchronize | closed) From 19f95ad8f63e25e905da5a7d3e19f0c97c90fc9c Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:57:28 +0100 Subject: [PATCH 43/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index cdbca001..4d0ab78d 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -1,7 +1,6 @@ #!/bin/bash set -e -echo "REPO_URL!: $REPO_URL" PR_ID="pr_${REPO_ID}${PR_NUMBER}" DEPLOY_FOLDER="/srv/pr-deploy" PID_FILE="/srv/pr-deploy/nohup.json" @@ -11,6 +10,8 @@ comment() { local status_message=$1 local preview_url=$2 + echo "Status: $status_message" + local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍 @@ -37,6 +38,7 @@ comment() { -d "$comment_body" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') + echo "comment id: $COMMENT_ID" jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" else # Update the existing comment @@ -51,6 +53,7 @@ cleanup() { PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") if [ -n "$PID" ]; then + echo "PID: $PID" kill -9 "$PID" || true jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi From 7c19dcb1bbfb112e2cca58c7290b1a82ab8cc952 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 18:59:45 +0100 Subject: [PATCH 44/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index 4d0ab78d..c34efb7d 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -40,6 +40,8 @@ comment() { "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') echo "comment id: $COMMENT_ID" jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" + echo "COMMENT_ID_FILE" + cat $COMMENT_ID_FILE else # Update the existing comment curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ From 7a3ac66d5490a04d95fd1718a5dbd7537c0c5f2e Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:02:41 +0100 Subject: [PATCH 45/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index c34efb7d..7dac71c2 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -39,7 +39,8 @@ comment() { -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') echo "comment id: $COMMENT_ID" - jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "$COMMENT_ID_FILE" + echo {} > "$COMMENT_ID" + jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "$COMMENT_ID_FILE" echo "COMMENT_ID_FILE" cat $COMMENT_ID_FILE else From f9ef7f96faecb40573717cb83603144f18e0539b Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:11:30 +0100 Subject: [PATCH 46/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 7dac71c2..3580454b 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -39,7 +39,6 @@ comment() { -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') echo "comment id: $COMMENT_ID" - echo {} > "$COMMENT_ID" jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "$COMMENT_ID_FILE" echo "COMMENT_ID_FILE" cat $COMMENT_ID_FILE From 8a6c1d61bc9c6aebf716cbcbd27833c907c2db86 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:17:14 +0100 Subject: [PATCH 47/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 3580454b..2af3dd55 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -PR_ID="pr_${REPO_ID}${PR_NUMBER}" + DEPLOY_FOLDER="/srv/pr-deploy" PID_FILE="/srv/pr-deploy/nohup.json" COMMENT_ID_FILE="/srv/pr-deploy/comments.json" @@ -66,6 +66,12 @@ cleanup() { [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" } +REPO_ID=$(curl -L \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME} | jq -r '.id') + +PR_ID="pr_${REPO_ID}${PR_NUMBER}" # Setup directory mkdir -p ${DEPLOY_FOLDER}/ From 756757f2b69e2fb8a488b906d9167c296bb191d3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:22:07 +0100 Subject: [PATCH 48/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 2af3dd55..3675d634 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -10,8 +10,6 @@ comment() { local status_message=$1 local preview_url=$2 - echo "Status: $status_message" - local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍
@@ -38,9 +36,7 @@ comment() { -d "$comment_body" \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') - echo "comment id: $COMMENT_ID" jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "$COMMENT_ID_FILE" - echo "COMMENT_ID_FILE" cat $COMMENT_ID_FILE else # Update the existing comment @@ -88,8 +84,11 @@ fi # Handle COMMENT_ID COMMENT_ID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${COMMENT_ID_FILE}) +echo "COMMENT ID: $COMMENT_ID" comment "Deploying ⏳" "#" +echo "Commented" + # Ensure docker is installed if [ ! command -v docker &> /dev/null ]; then sudo apt-get update @@ -116,7 +115,6 @@ case $PR_ACTION in ;; esac -echo "Branch: $BRANCH, REPO_URL: $REPO_URL, PR: $PR_ID" # Git clone and Docker operations git clone -b $BRANCH $REPO_URL $PR_ID cd $PR_ID/$CONTEXT From 4af5c77525a6a0c5cd8ab38becdc85b5076e0974 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:23:47 +0100 Subject: [PATCH 49/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 3675d634..ec4ff647 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -84,11 +84,8 @@ fi # Handle COMMENT_ID COMMENT_ID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${COMMENT_ID_FILE}) -echo "COMMENT ID: $COMMENT_ID" comment "Deploying ⏳" "#" -echo "Commented" - # Ensure docker is installed if [ ! command -v docker &> /dev/null ]; then sudo apt-get update @@ -103,6 +100,7 @@ fi # Free port FREE_PORT=$(python3 -c 'import socket; s = socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') +echo "Free Port: $FREE_PORT" cd ${DEPLOY_FOLDER} rm -rf $PR_ID From 73f5d765761c2ae3f82955d91c40d7337c665e73 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:26:07 +0100 Subject: [PATCH 50/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index ec4ff647..37c784fc 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -49,12 +49,13 @@ comment() { cleanup() { PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") + echo "PID: $PID" if [ -n "$PID" ]; then - echo "PID: $PID" kill -9 "$PID" || true jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi + echo "Killed" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" @@ -100,7 +101,6 @@ fi # Free port FREE_PORT=$(python3 -c 'import socket; s = socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()') -echo "Free Port: $FREE_PORT" cd ${DEPLOY_FOLDER} rm -rf $PR_ID From d9ddd0bdb215863254804515a559ee24f4f3dcf3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:28:54 +0100 Subject: [PATCH 51/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 37c784fc..1f7588ca 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -49,13 +49,11 @@ comment() { cleanup() { PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") - echo "PID: $PID" if [ -n "$PID" ]; then kill -9 "$PID" || true jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi - echo "Killed" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" @@ -112,6 +110,7 @@ case $PR_ACTION in [ "$PR_ACTION" == "closed" ] && comment "Terminated 🛑" "#" && exit 0 ;; esac +echo "PR ACTION: $PR_ACTION" # Git clone and Docker operations git clone -b $BRANCH $REPO_URL $PR_ID From bc6b5e73be3392f7494339335be253aed71636a2 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:41:01 +0100 Subject: [PATCH 52/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index 1f7588ca..c0c3781f 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -54,11 +54,15 @@ cleanup() { kill -9 "$PID" || true jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi + + echo "PID: $PID" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" + echo "Container: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" + echo "Image: $IMAGE_ID" } REPO_ID=$(curl -L \ From 352113dd49ae6f8b610a0e20386497e178d54014 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:44:28 +0100 Subject: [PATCH 53/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index c0c3781f..e71b1e87 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -55,14 +55,12 @@ cleanup() { jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi - echo "PID: $PID" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" echo "Container: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" - echo "Image: $IMAGE_ID" } REPO_ID=$(curl -L \ From 7dacd3fc17748fc489190ac00899eb1cc041c162 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 19:45:42 +0100 Subject: [PATCH 54/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index e71b1e87..7632fdc8 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -37,7 +37,6 @@ comment() { -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/issues/${PR_NUMBER}/comments" | jq -r '.id') jq --arg pr_id "$PR_ID" --arg cid "$COMMENT_ID" '.[$pr_id] = $cid' "$COMMENT_ID_FILE" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "$COMMENT_ID_FILE" - cat $COMMENT_ID_FILE else # Update the existing comment curl -s -H "Authorization: token $GITHUB_TOKEN" -X PATCH \ @@ -51,14 +50,13 @@ cleanup() { PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") if [ -n "$PID" ]; then - kill -9 "$PID" || true + kill -9 "$PID" jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" - echo "Container: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" } From fa708bb9a99e497ef2514b90c6d54509c9ed3497 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:07:34 +0100 Subject: [PATCH 55/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index 7632fdc8..3dca2b22 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -57,6 +57,8 @@ cleanup() { CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" + sleep 1 + IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" } From 2375a9eebcf186ca3c8dc7d5ee9291b7340529e3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:09:57 +0100 Subject: [PATCH 56/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 3dca2b22..b1847b8c 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -53,14 +53,16 @@ cleanup() { kill -9 "$PID" jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi + echo "PID: $PID" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" + echo "CONTAINER: $CONTAINER_ID" - sleep 1 IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" + echo "IMAGE: $IMAGE_ID" } REPO_ID=$(curl -L \ From a85f321fa51942780b9f21f53384f702c26d900a Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:19:09 +0100 Subject: [PATCH 57/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index b1847b8c..2031db19 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -114,7 +114,6 @@ case $PR_ACTION in [ "$PR_ACTION" == "closed" ] && comment "Terminated 🛑" "#" && exit 0 ;; esac -echo "PR ACTION: $PR_ACTION" # Git clone and Docker operations git clone -b $BRANCH $REPO_URL $PR_ID @@ -131,9 +130,8 @@ sleep 3 DEPLOYED_URL=$(grep "Forwarding HTTP traffic from" serveo_output.log | tail -n 1 | awk '{print $5}') # update the nohup ids -if [ -n $SERVEO_PID ]; then - jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > "$PID_FILE" -fi +echo {} > $PID_FILE +jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > "$PID_FILE" if [ -z "$DEPLOYED_URL" ]; then comment "Failed ❌" "#" && exit 1 From e5868161e1f3fc5a5d18c5dd20207743cce12280 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:25:16 +0100 Subject: [PATCH 58/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 2031db19..67364ff5 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -130,8 +130,7 @@ sleep 3 DEPLOYED_URL=$(grep "Forwarding HTTP traffic from" serveo_output.log | tail -n 1 | awk '{print $5}') # update the nohup ids -echo {} > $PID_FILE -jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > "$PID_FILE" +jq --arg pr_id "$PR_ID" --arg pid "$SERVEO_PID" '.[$pr_id] = $pid' "$PID_FILE" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "$PID_FILE" if [ -z "$DEPLOYED_URL" ]; then comment "Failed ❌" "#" && exit 1 From bca89d2b0c9c3cef11026e161abef34021a13587 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:27:49 +0100 Subject: [PATCH 59/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 67364ff5..5bd3b257 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -53,16 +53,13 @@ cleanup() { kill -9 "$PID" jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi - echo "PID: $PID" CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" - echo "CONTAINER: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" - echo "IMAGE: $IMAGE_ID" } REPO_ID=$(curl -L \ From 10f42d174d629fffe0a824b90dbe48754d2cedec Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:54:35 +0100 Subject: [PATCH 60/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 5bd3b257..537406b8 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -56,7 +56,7 @@ cleanup() { CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" - + echo "CONTAINER: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" From c7ce753f5430d7f83e7b9a43a1fcfb79277634f5 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 20:55:50 +0100 Subject: [PATCH 61/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 537406b8..f9419447 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -56,10 +56,10 @@ cleanup() { CONTAINER_ID=$(docker ps -aq --filter "name=${PR_ID}") [ -n "$CONTAINER_ID" ] && sudo docker stop -t 0 "$CONTAINER_ID" && sudo docker rm -f "$CONTAINER_ID" - echo "CONTAINER: $CONTAINER_ID" IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" + echo "IMAGE: $IMAGE_ID" } REPO_ID=$(curl -L \ From f82118bdb60d5b9494d6991ffd9fe8206b61691a Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 21:03:31 +0100 Subject: [PATCH 62/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index f9419447..94313d64 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -59,7 +59,7 @@ cleanup() { IMAGE_ID=$(docker images -q --filter "reference=${PR_ID}") [ -n "$IMAGE_ID" ] && sudo docker rmi -f "$IMAGE_ID" - echo "IMAGE: $IMAGE_ID" + sleep 1 } REPO_ID=$(curl -L \ From 9f7657ee43dd942554ebfbf597e39ecaff335c56 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 21:10:51 +0100 Subject: [PATCH 63/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pr-deploy.sh b/pr-deploy.sh index 94313d64..5b2c8acc 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -1,6 +1,7 @@ #!/bin/bash set -e +trap 'comment "Failed ❌" "#"; exit 1' ERR DEPLOY_FOLDER="/srv/pr-deploy" PID_FILE="/srv/pr-deploy/nohup.json" From e67e21100e712091c0161b91968a8291a98424fc Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 21:11:32 +0100 Subject: [PATCH 64/84] Update Dockerfile Signed-off-by: Destiny Saturday --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77ebcae0..ad327294 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,8 @@ FROM node:14 WORKDIR /app COPY package.json . -RUN npm install +RUN npm installj COPY . . -CMD [ "sh", "-c", "echo NODE_ENV=$NODE_ENV && node server.js" ] +CMD [ "sh", "-c", "node server.js" ] From 2ffa540bd3c4ef230f2005e19ad6c651fae60f3e Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 22:57:50 +0100 Subject: [PATCH 65/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 5b2c8acc..07c2584f 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -10,6 +10,7 @@ COMMENT_ID_FILE="/srv/pr-deploy/comments.json" comment() { local status_message=$1 local preview_url=$2 + echo $status_message local comment_body=$(jq -n --arg body "Here are the latest updates on your deployment. Explore the action and ⭐ star our project for more insights! 🔍
@@ -71,7 +72,7 @@ REPO_ID=$(curl -L \ PR_ID="pr_${REPO_ID}${PR_NUMBER}" # Setup directory -mkdir -p ${DEPLOY_FOLDER}/ +mkdir -p ${DEPLOY_FOLDER} # Initialize the JSON file for nohup if it doesn't exist if [ ! -f "$PID_FILE" ]; then From 8d3bcbb7c8911144495934bfc9cce62e88bafd5a Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:10:52 +0100 Subject: [PATCH 66/84] Update Dockerfile Signed-off-by: Destiny Saturday --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ad327294..b1c1ec80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM node:14 WORKDIR /app COPY package.json . -RUN npm installj +RUN npm install COPY . . From 43d24bcfff1af9f698ed971a04613507d38eb346 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:12:09 +0100 Subject: [PATCH 67/84] Update Dockerfile Signed-off-by: Destiny Saturday --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b1c1ec80..c648af2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM node:14 WORKDIR /app COPY package.json . -RUN npm install +RUN npm installd COPY . . From b8a339fa3ccc8a094ef1d329346a7b127f5a52f6 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:15:08 +0100 Subject: [PATCH 68/84] Update Dockerfile Signed-off-by: Destiny Saturday --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c648af2d..b1c1ec80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM node:14 WORKDIR /app COPY package.json . -RUN npm installd +RUN npm install COPY . . From f33995aba3b193bf88a4ecb5e662144a426fadf3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:23:48 +0100 Subject: [PATCH 69/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 07c2584f..19d31520 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -120,7 +120,8 @@ cd $PR_ID/$CONTEXT # Build and run Docker Container sudo docker build -t $PR_ID -f $DOCKERFILE . -sudo docker run -d -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID +echo $ENVS > ${PR_ID}.env +sudo docker run -d --env-file ${PR_ID}.env -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID # Start SSH Tunnel nohup ssh -tt -o StrictHostKeyChecking=no -R 80:localhost:$FREE_PORT serveo.net > serveo_output.log 2>&1 & From 46eba7eadb78942e9204ba1f7aa0036646989e58 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:25:11 +0100 Subject: [PATCH 70/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/entrypoint.sh b/entrypoint.sh index 4f976a7d..5eeb3ce9 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -12,6 +12,7 @@ sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $S CONTEXT='$CONTEXT' \ DOCKERFILE='$DOCKERFILE' \ EXPOSED_PORT='$EXPOSED_PORT' \ + ENVS='$ENVS' \ REPO_OWNER='$REPO_OWNER' \ REPO_NAME='$REPO_NAME' \ REPO_URL='$REPO_URL' \ From 4fec9b005a1375846daf9ca5ee36c205a307a52b Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:25:39 +0100 Subject: [PATCH 71/84] Update pr-deploy.yml Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml index 06117be0..3090c7a9 100644 --- a/.github/workflows/pr-deploy.yml +++ b/.github/workflows/pr-deploy.yml @@ -21,6 +21,6 @@ jobs: dockerfile: 'Dockerfile' exposed_port: '5000' github_token: ${{ secrets.GITHUB_TOKEN }} - # envs: | - # VITE_API_URL=http://localhost:5000 - # NODE_ENV=production + envs: | + VITE_API_URL=http://localhost:5000 + NODE_ENV=production From 6e205e9b3b95b9ba2e8365c59d82cacd60314683 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:28:24 +0100 Subject: [PATCH 72/84] Update pr-deploy.yml Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml index 3090c7a9..02979744 100644 --- a/.github/workflows/pr-deploy.yml +++ b/.github/workflows/pr-deploy.yml @@ -22,5 +22,5 @@ jobs: exposed_port: '5000' github_token: ${{ secrets.GITHUB_TOKEN }} envs: | - VITE_API_URL=http://localhost:5000 - NODE_ENV=production + VITE_API_URL=${{ secrets.SERVER_HOST }} + NODE_ENV=$GITHUB_TOKEN From f52fef169606ee84126bb97b17355c8717549800 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:30:30 +0100 Subject: [PATCH 73/84] Update pr-deploy.yml Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml index 02979744..dfe1bd88 100644 --- a/.github/workflows/pr-deploy.yml +++ b/.github/workflows/pr-deploy.yml @@ -22,5 +22,5 @@ jobs: exposed_port: '5000' github_token: ${{ secrets.GITHUB_TOKEN }} envs: | - VITE_API_URL=${{ secrets.SERVER_HOST }} - NODE_ENV=$GITHUB_TOKEN + SERVER_PASSWORD=${{ secrets.SERVER_PASSWORD }} + NODE_ENV=${{ secrets.GITHUB_TOKEN }} From bdcfbacbc69f9443cdd5ba8cb92927ee925217cd Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:32:49 +0100 Subject: [PATCH 74/84] Update pr-deploy.yml Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml index dfe1bd88..ee2f5284 100644 --- a/.github/workflows/pr-deploy.yml +++ b/.github/workflows/pr-deploy.yml @@ -22,5 +22,5 @@ jobs: exposed_port: '5000' github_token: ${{ secrets.GITHUB_TOKEN }} envs: | - SERVER_PASSWORD=${{ secrets.SERVER_PASSWORD }} + VITE_API_URL=${{ secrets.SERVER_PASSWORD }} NODE_ENV=${{ secrets.GITHUB_TOKEN }} From 8baa50ce04628095c81e089dd47bdeafab5720a1 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Fri, 2 Aug 2024 23:53:22 +0100 Subject: [PATCH 75/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5eeb3ce9..d79cf245 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -21,4 +21,4 @@ sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $S PR_ACTION='$PR_ACTION' \ PR_NUMBER='$PR_NUMBER' \ COMMENT_ID='$COMMENT_ID' \ - bash /srv/pr-deploy.sh" + echo "$SERVER_PASSWORD" | sudo -S bash /srv/pr-deploy.sh" From 458683e58a806000f58f69eea7af7ef772f480ae Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:13:06 +0100 Subject: [PATCH 76/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index d79cf245..baa05c7b 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -21,4 +21,4 @@ sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $S PR_ACTION='$PR_ACTION' \ PR_NUMBER='$PR_NUMBER' \ COMMENT_ID='$COMMENT_ID' \ - echo "$SERVER_PASSWORD" | sudo -S bash /srv/pr-deploy.sh" + echo "$SERVER_PASSWORD" | sudo -SE bash /srv/pr-deploy.sh" From a4ad43a26ddd803b0eda5ff71d7916376e70b46e Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:16:41 +0100 Subject: [PATCH 77/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index baa05c7b..af0d64aa 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -21,4 +21,4 @@ sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $S PR_ACTION='$PR_ACTION' \ PR_NUMBER='$PR_NUMBER' \ COMMENT_ID='$COMMENT_ID' \ - echo "$SERVER_PASSWORD" | sudo -SE bash /srv/pr-deploy.sh" + bash -c 'echo \"$SERVER_PASSWORD\" | sudo -S bash /srv/pr-deploy.sh'" From 6ca375f7a7b4a475e84228ac5d4e06efdf727bbe Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:19:08 +0100 Subject: [PATCH 78/84] Update entrypoint.sh Signed-off-by: Destiny Saturday --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index af0d64aa..bfa3ec20 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -21,4 +21,4 @@ sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no -p $SERVER_PORT $S PR_ACTION='$PR_ACTION' \ PR_NUMBER='$PR_NUMBER' \ COMMENT_ID='$COMMENT_ID' \ - bash -c 'echo \"$SERVER_PASSWORD\" | sudo -S bash /srv/pr-deploy.sh'" + bash -c 'echo \"$SERVER_PASSWORD\" | sudo -SE bash /srv/pr-deploy.sh'" From d8f4347038b8e861c1cd013fbcaa7c7d1adf74d4 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:21:17 +0100 Subject: [PATCH 79/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 19d31520..bc7caee5 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -52,7 +52,7 @@ cleanup() { PID=$(jq -r --arg key "$PR_ID" '.[$key] // ""' "${PID_FILE}") if [ -n "$PID" ]; then - kill -9 "$PID" + kill -9 "$PID" || true jq --arg key "$PR_ID" 'del(.[$key])' "${PID_FILE}" > "${PID_FILE}.tmp" && mv "${PID_FILE}.tmp" "${PID_FILE}" fi @@ -64,6 +64,8 @@ cleanup() { sleep 1 } +whoami + REPO_ID=$(curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ From c58bf16c3ee4b143a888199fc4c188231ed84405 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:22:54 +0100 Subject: [PATCH 80/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index bc7caee5..08caf5f9 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -64,7 +64,7 @@ cleanup() { sleep 1 } -whoami +echo "USER: $(whoami)" REPO_ID=$(curl -L \ -H "Accept: application/vnd.github+json" \ From cf27ff37aaf81663da379b650e8d13ed4d446cf3 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:25:22 +0100 Subject: [PATCH 81/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 08caf5f9..381b7690 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -64,8 +64,6 @@ cleanup() { sleep 1 } -echo "USER: $(whoami)" - REPO_ID=$(curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ @@ -89,17 +87,17 @@ fi # Handle COMMENT_ID COMMENT_ID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${COMMENT_ID_FILE}) comment "Deploying ⏳" "#" - +apt update # Ensure docker is installed if [ ! command -v docker &> /dev/null ]; then - sudo apt-get update - sudo apt-get install docker.io -y + apt-get update + apt-get install docker.io -y fi # Ensure python is installed if [ ! command -v python3 &> /dev/null ]; then - sudo apt-get update - sudo apt-get install python3 -y + apt-get update + apt-get install python3 -y fi # Free port @@ -121,9 +119,9 @@ git clone -b $BRANCH $REPO_URL $PR_ID cd $PR_ID/$CONTEXT # Build and run Docker Container -sudo docker build -t $PR_ID -f $DOCKERFILE . +docker build -t $PR_ID -f $DOCKERFILE . echo $ENVS > ${PR_ID}.env -sudo docker run -d --env-file ${PR_ID}.env -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID +docker run -d --env-file ${PR_ID}.env -p $FREE_PORT:$EXPOSED_PORT --name $PR_ID $PR_ID # Start SSH Tunnel nohup ssh -tt -o StrictHostKeyChecking=no -R 80:localhost:$FREE_PORT serveo.net > serveo_output.log 2>&1 & From 1a772e9fc315b2169b044df5468b17a8490049d4 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:29:09 +0100 Subject: [PATCH 82/84] Update pr-deploy.sh Signed-off-by: Destiny Saturday --- pr-deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr-deploy.sh b/pr-deploy.sh index 381b7690..074c5777 100644 --- a/pr-deploy.sh +++ b/pr-deploy.sh @@ -87,7 +87,7 @@ fi # Handle COMMENT_ID COMMENT_ID=$(jq -r --arg key $PR_ID '.[$key] // ""' ${COMMENT_ID_FILE}) comment "Deploying ⏳" "#" -apt update + # Ensure docker is installed if [ ! command -v docker &> /dev/null ]; then apt-get update From 63c8b7c0582d1c8115c6f038c0462dc4e7dd20e8 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 00:30:44 +0100 Subject: [PATCH 83/84] Delete .github directory Signed-off-by: Destiny Saturday --- .github/workflows/pr-deploy.yml | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 .github/workflows/pr-deploy.yml diff --git a/.github/workflows/pr-deploy.yml b/.github/workflows/pr-deploy.yml deleted file mode 100644 index ee2f5284..00000000 --- a/.github/workflows/pr-deploy.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: PR Deploy -on: - pull_request: - types: [opened, synchronize, reopened, closed] - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Deploy PR - uses: ./ - with: - server_host: ${{ secrets.SERVER_HOST }} - server_username: ${{ secrets.SERVER_USERNAME }} - server_password: ${{ secrets.SERVER_PASSWORD }} - server_port: ${{ secrets.SERVER_PORT }} - context: '.' - dockerfile: 'Dockerfile' - exposed_port: '5000' - github_token: ${{ secrets.GITHUB_TOKEN }} - envs: | - VITE_API_URL=${{ secrets.SERVER_PASSWORD }} - NODE_ENV=${{ secrets.GITHUB_TOKEN }} From c6f63ea6538a7b10c308ed7a9255ec9cfbc59941 Mon Sep 17 00:00:00 2001 From: Destiny Saturday Date: Sat, 3 Aug 2024 04:33:27 +0100 Subject: [PATCH 84/84] feat: improved codebase --- Dockerfile | 11 ----------- action.yml | 2 ++ package.json | 9 --------- server.js | 16 ---------------- 4 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 Dockerfile delete mode 100644 package.json delete mode 100644 server.js diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index b1c1ec80..00000000 --- a/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -# Dockerfile -FROM node:14 - -WORKDIR /app - -COPY package.json . -RUN npm install - -COPY . . - -CMD [ "sh", "-c", "node server.js" ] diff --git a/action.yml b/action.yml index d5ddb45c..1ccfe287 100644 --- a/action.yml +++ b/action.yml @@ -20,8 +20,10 @@ inputs: context: description: Directory in the repository where the Dockerfile or start command is located required: false + default: "./" dockerfile: description: Path to the Dockerfile (optional) + required: false default: "./Dockerfile" exposed_port: description: Port to expose in the container diff --git a/package.json b/package.json deleted file mode 100644 index 32a33a07..00000000 --- a/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "pr-deploy-test", - "version": "1.0.0", - "main": "server.js", - "dependencies": { - "express": "^4.17.1" - } - } - \ No newline at end of file diff --git a/server.js b/server.js deleted file mode 100644 index 733a2adf..00000000 --- a/server.js +++ /dev/null @@ -1,16 +0,0 @@ -// server.js -const express = require('express'); -const app = express(); -const port = process.env.PORT || 5000; - -app.get('/', (req, res) => { - res.json({ - message: 'Hello from PR Deploy!', - VITE_API_URL: process.env.VITE_API_URL, - NODE_ENV: process.env.NODE_ENV - }); -}); - -app.listen(port, () => { - console.log(`Server running on port ${port}`); -});