From 73684af21ba3ca606d9d89538f1f5227dd146db5 Mon Sep 17 00:00:00 2001 From: mr-forust Date: Fri, 20 Feb 2026 20:09:26 +0100 Subject: [PATCH] ci: deploy workflow with local act_runner --- .gitea/workflows/prod_deploy.yaml | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .gitea/workflows/prod_deploy.yaml diff --git a/.gitea/workflows/prod_deploy.yaml b/.gitea/workflows/prod_deploy.yaml new file mode 100644 index 0000000..93454d5 --- /dev/null +++ b/.gitea/workflows/prod_deploy.yaml @@ -0,0 +1,38 @@ +name: Deploy to Server +on: + push: + branches: + - main + - ci/gitea-actions +jobs: + deploy: + runs-on: prod + steps: + - name: Fetch and Diff Analysis + id: diff + run: | + cd ${{ secrets.PROD_DIR }} + git fetch origin main + CHANGES=$(git diff --name-only HEAD origin/main | cut -d/ -f1 | sort -u | tr '\n' ' ') + echo "dirs=$CHANGES" >> $GITHUB_OUTPUT + echo "Changed dirs: $CHANGES" + + - name: Sync Server Files + run: | + cd ${{ secrets.PROD_DIR }} + git reset --hard origin/main + echo "Server files synced with origin/main" + + - name: Deploy Services + run: | + cd ${{ secrets.PROD_DIR }} + for dir in ${{ steps.diff.outputs.dirs }}; do + if [ -d "$dir" ] && ([ -f "$dir/compose.yaml" ] || [ -f "$dir/docker-compose.yaml" ]); then + echo ">>> Deploying $dir" + cd "$dir" + docker compose up -d --build + cd .. + else + echo ">>> Skipping $dir: no compose file found" + fi + done \ No newline at end of file