Files
lcbp3/specs/deploy-deploy-34.txt
admin 4bdf163c93
All checks were successful
Build and Deploy / deploy (push) Successful in 2m29s
260228:1446 20260228:14:30 workflow update #2
2026-02-28 14:46:57 +07:00

317 lines
34 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
2026-02-28T07:27:33.8284038Z asustor-runner(version:v0.2.13) received task 34 of job deploy, be triggered by event: push
2026-02-28T07:27:33.8290312Z workflow prepared
2026-02-28T07:27:33.8291142Z evaluating expression 'success()'
2026-02-28T07:27:33.8292709Z expression 'success()' evaluated to 'true'
2026-02-28T07:27:33.8293016Z 🚀 Start image=node:18-bullseye
2026-02-28T07:27:33.8393624Z 🐳 docker pull image=node:18-bullseye platform= username= forcePull=false
2026-02-28T07:27:33.8394088Z 🐳 docker pull node:18-bullseye
2026-02-28T07:27:33.8413967Z Image exists? true
2026-02-28T07:27:33.8472184Z Cleaning up network for job deploy, and network name is: GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy-deploy-network
2026-02-28T07:27:34.1183842Z 🐳 docker create image=node:18-bullseye platform= entrypoint=["/bin/sleep" "10800"] cmd=[] network="GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy-deploy-network"
2026-02-28T07:27:34.9356527Z Created container name=GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy id=544596ec99aae4e94958af73711d8d1a616d964139c03ef6421768e2572c3903 from image node:18-bullseye (platform: )
2026-02-28T07:27:34.9357085Z ENV ==> [RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8]
2026-02-28T07:27:34.9357348Z 🐳 docker run image=node:18-bullseye platform= entrypoint=["/bin/sleep" "10800"] cmd=[] network="GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy-deploy-network"
2026-02-28T07:27:34.9357678Z Starting container: 544596ec99aae4e94958af73711d8d1a616d964139c03ef6421768e2572c3903
2026-02-28T07:27:36.8110664Z Started container: 544596ec99aae4e94958af73711d8d1a616d964139c03ef6421768e2572c3903
2026-02-28T07:27:36.9607710Z Writing entry to tarball workflow/event.json len:5191
2026-02-28T07:27:36.9608376Z Writing entry to tarball workflow/envs.txt len:0
2026-02-28T07:27:36.9609770Z Extracting content to '/var/run/act/'
2026-02-28T07:27:36.9844245Z ☁ git clone 'https://github.com/appleboy/ssh-action' # ref=v1.0.3
2026-02-28T07:27:36.9844747Z cloning https://github.com/appleboy/ssh-action to /root/.cache/act/dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d
2026-02-28T07:27:37.7607259Z Cloned https://github.com/appleboy/ssh-action to /root/.cache/act/dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d
2026-02-28T07:27:37.7776323Z Checked out v1.0.3
2026-02-28T07:27:37.7982541Z expression '${{ secrets.HOST }}' rewritten to 'format('{0}', secrets.HOST)'
2026-02-28T07:27:37.7983262Z evaluating expression 'format('{0}', secrets.HOST)'
2026-02-28T07:27:37.7983765Z expression 'format('{0}', secrets.HOST)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.7984134Z expression '${{ secrets.USERNAME }}' rewritten to 'format('{0}', secrets.USERNAME)'
2026-02-28T07:27:37.7984350Z evaluating expression 'format('{0}', secrets.USERNAME)'
2026-02-28T07:27:37.7984676Z expression 'format('{0}', secrets.USERNAME)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.7984959Z expression '${{ secrets.PASSWORD }}' rewritten to 'format('{0}', secrets.PASSWORD)'
2026-02-28T07:27:37.7985170Z evaluating expression 'format('{0}', secrets.PASSWORD)'
2026-02-28T07:27:37.7985502Z expression 'format('{0}', secrets.PASSWORD)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.7985782Z expression '${{ secrets.PORT }}' rewritten to 'format('{0}', secrets.PORT)'
2026-02-28T07:27:37.7985965Z evaluating expression 'format('{0}', secrets.PORT)'
2026-02-28T07:27:37.7986302Z expression 'format('{0}', secrets.PORT)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.8086295Z evaluating expression ''
2026-02-28T07:27:37.8087143Z expression '' evaluated to 'true'
2026-02-28T07:27:37.8087379Z ⭐ Run Main Deploy to QNAP via SSH
2026-02-28T07:27:37.8087738Z Writing entry to tarball workflow/outputcmd.txt len:0
2026-02-28T07:27:37.8088065Z Writing entry to tarball workflow/statecmd.txt len:0
2026-02-28T07:27:37.8088307Z Writing entry to tarball workflow/pathcmd.txt len:0
2026-02-28T07:27:37.8088543Z Writing entry to tarball workflow/envs.txt len:0
2026-02-28T07:27:37.8088744Z Writing entry to tarball workflow/SUMMARY.md len:0
2026-02-28T07:27:37.8088993Z Extracting content to '/var/run/act'
2026-02-28T07:27:37.8220371Z type=remote-action actionDir=/root/.cache/act/dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d actionPath= workdir=/workspace/np-dms/lcbp3 actionCacheDir=/root/.cache/act actionName=dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d containerActionDir=/var/run/act/actions/dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d
2026-02-28T07:27:37.8256623Z image 'act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest' for architecture '' already exists
2026-02-28T07:27:37.8447855Z expression '${{ secrets.PASSWORD }}' rewritten to 'format('{0}', secrets.PASSWORD)'
2026-02-28T07:27:37.8448365Z evaluating expression 'format('{0}', secrets.PASSWORD)'
2026-02-28T07:27:37.8448863Z expression 'format('{0}', secrets.PASSWORD)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.8449207Z expression '${{ secrets.PORT }}' rewritten to 'format('{0}', secrets.PORT)'
2026-02-28T07:27:37.8449398Z evaluating expression 'format('{0}', secrets.PORT)'
2026-02-28T07:27:37.8449716Z expression 'format('{0}', secrets.PORT)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.8450226Z expression '${{ secrets.USERNAME }}' rewritten to 'format('{0}', secrets.USERNAME)'
2026-02-28T07:27:37.8450419Z evaluating expression 'format('{0}', secrets.USERNAME)'
2026-02-28T07:27:37.8450743Z expression 'format('{0}', secrets.USERNAME)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.8451026Z expression '${{ secrets.HOST }}' rewritten to 'format('{0}', secrets.HOST)'
2026-02-28T07:27:37.8451223Z evaluating expression 'format('{0}', secrets.HOST)'
2026-02-28T07:27:37.8451569Z expression 'format('{0}', secrets.HOST)' evaluated to '%!t(string=***)'
2026-02-28T07:27:37.8750726Z 🐳 docker pull image=act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest platform= username= forcePull=false
2026-02-28T07:27:37.8751340Z 🐳 docker pull act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest
2026-02-28T07:27:37.8770951Z Image exists? true
2026-02-28T07:27:37.8813205Z 🐳 docker create image=act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest platform= entrypoint=[] cmd=[] network="container:GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy"
2026-02-28T07:27:38.5948857Z Created container name=GITEA-ACTIONS-TASK-34-WORKFLOW-Build-and-Deploy-JOB-deploy_STEP-0 id=bfe459c3717df53d68c8dc1a47ecb1***fcb73eb398f254a35c970bc95293697c from image act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest (platform: )
2026-02-28T07:27:38.5950292Z ENV ==> [INPUT_PASSPHRASE= INPUT_PROXY_FINGERPRINT= proxy_key_path= proxy_username= ACTIONS_RUNTIME_TOKEN=*** CI=true GITHUB_ACTION=0 port=*** request_pty= ACT=true ACTIONS_CACHE_URL=http://172.19.0.2:33669/ GITHUB_RUN_NUMBER=88 GITHUB_API_URL=https://git.np-dms.work/api/v1 GITEA_ENV=/var/run/act/workflow/envs.txt use_insecure_cipher= proxy_cipher= envs_format= GITHUB_SHA=efd5183906c57e458a992057de20277f5adf868c GITHUB_GRAPHQL_URL= ImageOS=ubuntu20 INPUT_PROXY_PORT=*** INPUT_PROXY_USE_INSECURE_CIPHER= INPUT_DEBUG= INPUT_PROXY_KEY_PATH= debug= JOB_CONTAINER_NAME=GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy GITEA_ACTIONS_RUNNER_VERSION=v0.2.13 GITHUB_REPOSITORY=np-dms/lcbp3 GITHUB_RETENTION_DAYS= GITHUB_SERVER_URL=https://git.np-dms.work INPUT_PASSWORD=*** INPUT_PORT=*** GITEA_OUTPUT=/var/run/act/workflow/outputcmd.txt GITHUB_WORKFLOW=Build and Deploy GITHUB_EVENT_NAME=push GITHUB_EVENT_PATH=/var/run/act/workflow/event.json GITHUB_STATE=/var/run/act/workflow/statecmd.txt GITHUB_STEP_SUMMARY=/var/run/act/workflow/SUMMARY.md GITEA_STATE=/var/run/act/workflow/statecmd.txt INPUT_KEY= INPUT_PROXY_PASSPHRASE= GITHUB_JOB=deploy RUNNER_TRACKING_ID= GITHUB_ENV=/var/run/act/workflow/envs.txt GITEA_STEP_SUMMARY=/var/run/act/workflow/SUMMARY.md INPUT_TIMEOUT=30s INPUT_PROXY_HOST= passphrase= timeout=30s GITHUB_ACTION_PATH= INPUT_SCRIPT_STOP_SIGNAL=true INPUT_CIPHER= proxy_host= sync= script_stop= password=*** script_stop_signal=true ACTIONS_RESULTS_URL=https://git.np-dms.work GITHUB_BASE_REF= GITHUB_PATH=/var/run/act/workflow/pathcmd.txt INPUT_FINGERPRINT= INPUT_PROXY_PASSWORD= INPUT_PROXY_USERNAME= proxy_timeout=30s proxy_port=*** GITHUB_ACTION_REF=v1.0.3 GITHUB_ACTIONS=true GITHUB_ACTOR=*** GITHUB_HEAD_REF= INPUT_KEY_PATH= INPUT_REQUEST_PTY= proxy_passphrase= key_path= ACTIONS_RUNTIME_URL=https://git.np-dms.work/api/actions_pipeline/ GITHUB_WORKSPACE=/workspace/np-dms/lcbp3 GITHUB_OUTPUT=/var/run/act/workflow/outputcmd.txt INPUT_PROXY_TIMEOUT=30s INPUT_COMMAND_TIMEOUT=10m INPUT_SYNC= GITHUB_RUN_ID=88 fingerprint= proxy_key= proxy_password= command_timeout=10m key= GITEA_ACTIONS=true GITHUB_REF_TYPE=branch GITHUB_REPOSITORY_OWNER=np-dms INPUT_ENVS_FORMAT= cipher= proxy_use_insecure_cipher= INPUT_USE_INSECURE_CIPHER= GITHUB_REF=refs/heads/main RUNNER_PERFLOG=/dev/null INPUT_USERNAME=*** GITEA_PATH=/var/run/act/workflow/pathcmd.txt INPUT_SCRIPT_STOP= host=*** script=# ⚠️ QNAP SSH ไม่มี PATH เต็ม ต้อง export เอง\n# docker: /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker\n# git: /opt/bin/git\nexport PATH="/share/CACHEDEV1_DATA/.qpkg/container-station/bin:/opt/bin:/usr/local/bin:/usr/bin:/bin:$PATH"\n\necho "🚀 Starting Deployment..."\n\n# 1. Update Code\necho "📂 Pulling latest code..."\ncd /share/np-dms/app/source/lcbp3\ngit pull origin main\n\n# 2. Build Backend\necho "🏗️ Building Backend..."\ndocker build -f backend/Dockerfile -t lcbp3-backend:latest .\n\n# 3. Build Frontend\necho "🏗️ Building Frontend..."\ndocker build -f frontend/Dockerfile \\n --build-arg NEXT_PUBLIC_API_URL=https://backend.np-dms.work/api \\n -t lcbp3-frontend:latest .\n\n# 4. Update Containers\necho "🔄 Updating Containers..."\n# Sync compose file จาก repo → app directory\ncp /share/np-dms/app/source/lcbp3/specs/04-Infrastructure-OPS/04-00-docker-compose/docker-compose-lcbp3.yml /share/np-dms/app/docker-compose-lcbp3.yml\ncd /share/np-dms/app\n# ⚠️ ลบ container เดิมที่อาจสร้างจาก Container Station\ndocker rm -f backend frontend 2>/dev/null || true\n\n# 4a. Start Backend ก่อน\necho "🟢 Starting Backend..."\ndocker compose -f docker-compose-lcbp3.yml up -d backend\n\n# 4b. รอ Backend healthy (ทุก 5 วิ สูงสุด 60 วิ)\necho "⏳ Waiting for Backend health check..."\nfor i in $(seq 1 12); do\n if docker inspect --format='{{.State.Health.Status}}' backend 2>/dev/null | grep -q healthy; then\n echo "✅ Backend is healthy!"\n break\n fi\n if [ "$i" = "12" ]; then\n echo "⚠️ Backend health check timeout - starting frontend anyway"\n fi\n sleep 5\ndone\n\n# 4c. Start Frontend\necho "🟢 Starting Frontend..."\ndocker compose -f docker-compose-lcbp3.yml up -d frontend\n\n# 5. Cleanup\necho "🧹 Cleaning up unused images..."\ndocker image prune -f\n\necho "✅ Deployment Complete!"\n GITHUB_REF_NAME=main INPUT_SCRIPT=# ⚠️ QNAP SSH ไม่มี PATH เต็ม ต้อง export เอง\n# docker: /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker\n# git: /opt/bin/git\nexport PATH="/share/CACHEDEV1_DATA/.qpkg/container-station/bin:/opt/bin:/usr/local/bin:/usr/bin:/bin:$PATH"\n\necho "🚀 Starting Deployment..."\n\n# 1. Update Code\necho "📂 Pulling latest code..."\ncd /share/np-dms/app/source/lcbp3\ngit pull origin main\n\n# 2. Build Backend\necho "🏗️ Building Backend..."\ndocker build -f backend/Dockerfile -t lcbp3-backend:latest .\n\n# 3. Build Frontend\necho "🏗️ Building Frontend..."\ndocker build -f frontend/Dockerfile \\n --build-arg NEXT_PUBLIC_API_URL=https://backend.np-dms.work/api \\n -t lcbp3-frontend:latest .\n\n# 4. Update Containers\necho "🔄 Updating Containers..."\n# Sync compose file จาก repo → app directory\ncp /share/np-dms/app/source/lcbp3/specs/04-Infrastructure-OPS/04-00-docker-compose/docker-compose-lcbp3.yml /share/np-dms/app/docker-compose-lcbp3.yml\ncd /share/np-dms/app\n# ⚠️ ลบ container เดิมที่อาจสร้างจาก Container Station\ndocker rm -f backend frontend 2>/dev/null || true\n\n# 4a. Start Backend ก่อน\necho "🟢 Starting Backend..."\ndocker compose -f docker-compose-lcbp3.yml up -d backend\n\n# 4b. รอ Backend healthy (ทุก 5 วิ สูงสุด 60 วิ)\necho "⏳ Waiting for Backend health check..."\nfor i in $(seq 1 12); do\n if docker inspect --format='{{.State.Health.Status}}' backend 2>/dev/null | grep -q healthy; then\n echo "✅ Backend is healthy!"\n break\n fi\n if [ "$i" = "12" ]; then\n echo "⚠️ Backend health check timeout - starting frontend anyway"\n fi\n sleep 5\ndone\n\n# 4c. Start Frontend\necho "🟢 Starting Frontend..."\ndocker compose -f docker-compose-lcbp3.yml up -d frontend\n\n# 5. Cleanup\necho "🧹 Cleaning up unused images..."\ndocker image prune -f\n\necho "✅ Deployment Complete!"\n INPUT_ENVS= username=*** GITHUB_ACTION_REPOSITORY=appleboy/ssh-action INPUT_PROXY_KEY= INPUT_PROXY_CIPHER= INPUT_ALLENVS= envs= proxy_fingerprint= allenvs= INPUT_HOST=*** RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp]
2026-02-28T07:27:38.5955085Z 🐳 docker run image=act-dff214aaee240b4d48725836d98fb9f1de8c99b36f2a9ba82946d844ba27a96d-dockeraction:latest platform= entrypoint=[] cmd=[] network="container:GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy"
2026-02-28T07:27:38.5970807Z Starting container: bfe459c3717df53d68c8dc1a47ecb1***fcb73eb398f254a35c970bc95293697c
2026-02-28T07:27:39.1457321Z ======CMD======
2026-02-28T07:27:39.1458218Z # ⚠️ QNAP SSH ไม่มี PATH เต็ม ต้อง export เอง
2026-02-28T07:27:39.1458606Z # docker: /share/CACHEDEV1_DATA/.qpkg/container-station/bin/docker
2026-02-28T07:27:39.1458851Z # git: /opt/bin/git
2026-02-28T07:27:39.1459054Z export PATH="/share/CACHEDEV1_DATA/.qpkg/container-station/bin:/opt/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
2026-02-28T07:27:39.1459292Z
2026-02-28T07:27:39.1459482Z echo "🚀 Starting Deployment..."
2026-02-28T07:27:39.1459707Z
2026-02-28T07:27:39.1460080Z # 1. Update Code
2026-02-28T07:27:39.1460283Z echo "📂 Pulling latest code..."
2026-02-28T07:27:39.1460478Z cd /share/np-dms/app/source/lcbp3
2026-02-28T07:27:39.1460674Z git pull origin main
2026-02-28T07:27:39.1460884Z
2026-02-28T07:27:39.1461074Z # 2. Build Backend
2026-02-28T07:27:39.1461270Z echo "🏗️ Building Backend..."
2026-02-28T07:27:39.1461498Z docker build -f backend/Dockerfile -t lcbp3-backend:latest .
2026-02-28T07:27:39.1461724Z
2026-02-28T07:27:39.1461906Z # 3. Build Frontend
2026-02-28T07:27:39.1462100Z echo "🏗️ Building Frontend..."
2026-02-28T07:27:39.1462293Z docker build -f frontend/Dockerfile \
2026-02-28T07:27:39.1462520Z --build-arg NEXT_PUBLIC_API_URL=https://backend.np-dms.work/api \
2026-02-28T07:27:39.1462775Z -t lcbp3-frontend:latest .
2026-02-28T07:27:39.1462968Z
2026-02-28T07:27:39.1463143Z # 4. Update Containers
2026-02-28T07:27:39.1463330Z echo "🔄 Updating Containers..."
2026-02-28T07:27:39.1463529Z # Sync compose file จาก repo → app directory
2026-02-28T07:27:39.1463778Z cp /share/np-dms/app/source/lcbp3/specs/04-Infrastructure-OPS/04-00-docker-compose/docker-compose-lcbp3.yml /share/np-dms/app/docker-compose-lcbp3.yml
2026-02-28T07:27:39.1464028Z cd /share/np-dms/app
2026-02-28T07:27:39.1464219Z # ⚠️ ลบ container เดิมที่อาจสร้างจาก Container Station
2026-02-28T07:27:39.1464529Z docker rm -f backend frontend 2>/dev/null || true
2026-02-28T07:27:39.1464762Z
2026-02-28T07:27:39.1464943Z # 4a. Start Backend ก่อน
2026-02-28T07:27:39.1465142Z echo "🟢 Starting Backend..."
2026-02-28T07:27:39.1465335Z docker compose -f docker-compose-lcbp3.yml up -d backend
2026-02-28T07:27:39.1465527Z
2026-02-28T07:27:39.1465714Z # 4b. รอ Backend healthy (ทุก 5 วิ สูงสุด 60 วิ)
2026-02-28T07:27:39.1465932Z echo "⏳ Waiting for Backend health check..."
2026-02-28T07:27:39.1466134Z for i in $(seq 1 12); do
2026-02-28T07:27:39.1466330Z if docker inspect --format='{{.State.Health.Status}}' backend 2>/dev/null | grep -q healthy; then
2026-02-28T07:27:39.1466561Z echo "✅ Backend is healthy!"
2026-02-28T07:27:39.1466771Z break
2026-02-28T07:27:39.1466944Z fi
2026-02-28T07:27:39.1467123Z if [ "$i" = "12" ]; then
2026-02-28T07:27:39.1467311Z echo "⚠️ Backend health check timeout - starting frontend anyway"
2026-02-28T07:27:39.1467558Z fi
2026-02-28T07:27:39.1467753Z sleep 5
2026-02-28T07:27:39.1467943Z done
2026-02-28T07:27:39.1468119Z
2026-02-28T07:27:39.1468287Z # 4c. Start Frontend
2026-02-28T07:27:39.1468484Z echo "🟢 Starting Frontend..."
2026-02-28T07:27:39.1468676Z docker compose -f docker-compose-lcbp3.yml up -d frontend
2026-02-28T07:27:39.1468892Z
2026-02-28T07:27:39.1469072Z # 5. Cleanup
2026-02-28T07:27:39.1469258Z echo "🧹 Cleaning up unused images..."
2026-02-28T07:27:39.1469471Z docker image prune -f
2026-02-28T07:27:39.1469664Z
2026-02-28T07:27:39.1469915Z echo "✅ Deployment Complete!"
2026-02-28T07:27:39.1470124Z
2026-02-28T07:27:39.1470338Z ======END======
2026-02-28T07:27:39.3554832Z out: 🚀 Starting Deployment...
2026-02-28T07:27:39.3555491Z out: 📂 Pulling latest code...
2026-02-28T07:27:39.4639401Z err: From https://git.np-dms.work/np-dms/lcbp3
2026-02-28T07:27:39.4640163Z err: * branch main -> FETCH_HEAD
2026-02-28T07:27:39.4640735Z err: 276d06e..efd5183 main -> origin/main
2026-02-28T07:27:39.4864128Z out: Updating 276d06e..efd5183
2026-02-28T07:27:39.4864771Z out: Fast-forward
2026-02-28T07:27:39.4927658Z out: .../workflow-engine/workflow-engine.controller.ts | 20 +++++++++++++---
2026-02-28T07:27:39.4928367Z out: .../workflow-engine/workflow-engine.service.ts | 27 ++++++++++++++++++++++
2026-02-28T07:27:39.4928592Z out: .../***/doc-control/workflows/[id]/edit/page.tsx | 4 ++--
2026-02-28T07:27:39.4928901Z out: .../(***)/***/doc-control/workflows/page.tsx | 26 +++------------------
2026-02-28T07:27:39.4929130Z out: frontend/lib/services/workflow-engine.service.ts | 27 ++++++++++++++++++----
2026-02-28T07:27:39.4929339Z out: frontend/types/workflow.ts | 2 +-
2026-02-28T07:27:39.4929546Z out: 6 files changed, 73 insertions(+), 33 deletions(-)
2026-02-28T07:27:39.4929883Z out: 🏗️ Building Backend...
2026-02-28T07:27:40.1781150Z err: #0 building with "default" instance using docker driver
2026-02-28T07:27:40.1781840Z err: #1 [internal] load build definition from Dockerfile
2026-02-28T07:27:40.1782077Z err: #1 transferring dockerfile: 2.62kB done
2026-02-28T07:27:40.1782287Z err: #1 DONE 0.2s
2026-02-28T07:27:40.4027343Z err: #2 [internal] load metadata for docker.io/library/node:***-alpine
2026-02-28T07:27:42.0564337Z err: #2 DONE 1.8s
2026-02-28T07:27:42.1950563Z err: #3 [internal] load .dockerignore
2026-02-28T07:27:42.1951198Z err: #3 transferring context: 1.09kB done
2026-02-28T07:27:42.1951413Z err: #3 DONE 0.1s
2026-02-28T07:27:42.2989459Z err: #4 [deps 1/6] FROM docker.io/library/node:***-alpine@sha256:e4bf2a82ad0a4037d28035ae71529873c069b13eb0455466ae0bc13363826e34
2026-02-28T07:27:42.2990488Z err: #4 DONE 0.0s
2026-02-28T07:27:42.2990702Z err: #5 [internal] load build context
2026-02-28T07:27:42.6155504Z err: #5 transferring context: 1.72MB 0.2s done
2026-02-28T07:27:42.6156253Z err: #5 DONE 0.3s
2026-02-28T07:27:42.8014374Z err: #6 [deps 3/6] WORKDIR /app
2026-02-28T07:27:42.8015084Z err: #6 CACHED
2026-02-28T07:27:42.8015376Z err: #7 [deps 4/6] COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
2026-02-28T07:27:42.8015632Z err: #7 CACHED
2026-02-28T07:27:42.8015842Z err: #8 [deps 5/6] COPY backend/package.json ./backend/
2026-02-28T07:27:42.8016082Z err: #8 CACHED
2026-02-28T07:27:42.8016269Z err: #9 [deps 6/6] RUN pnpm install --frozen-lockfile --filter backend...
2026-02-28T07:27:42.8016503Z err: #9 CACHED
2026-02-28T07:27:42.8016741Z err: #10 [build 5/9] COPY --from=deps /app/node_modules ./node_modules
2026-02-28T07:27:42.8016957Z err: #10 CACHED
2026-02-28T07:27:42.8017170Z err: #11 [deps 2/6] RUN corepack enable && corepack prepare pnpm@latest --activate
2026-02-28T07:27:42.8017383Z err: #11 CACHED
2026-02-28T07:27:42.8017587Z err: #12 [build 6/9] COPY --from=deps /app/backend/node_modules ./backend/node_modules
2026-02-28T07:27:42.8017818Z err: #12 CACHED
2026-02-28T07:27:42.8018027Z err: #13 [build 7/9] COPY backend/ ./backend/
2026-02-28T07:27:45.2403106Z err: #13 DONE 2.6s
2026-02-28T07:27:45.4303679Z err: #14 [build 8/9] RUN cd backend && pnpm run build
2026-02-28T07:27:47.7906423Z err: #14 2.511
2026-02-28T07:27:47.7907160Z err: #14 2.511 > backend@1.5.1 build /app/backend
2026-02-28T07:27:47.7907389Z err: #14 2.511 > nest build
2026-02-28T07:27:47.7907696Z err: #14 2.511
2026-02-28T07:28:06.5057828Z err: #14 DONE 21.2s
2026-02-28T07:28:06.7371262Z err: #15 [build 9/9] RUN pnpm --filter backend deploy --prod --shamefully-hoist /app/backend-prod
2026-02-28T07:28:09.0274821Z err: #15 2.441 backend | WARN The field "pnpm.overrides" was found in /app/backend/package.json. This will not take effect. You should configure "pnpm.overrides" at the root of the workspace instead.
2026-02-28T07:28:09.6361957Z err: #15 3.050 ERR_PNPM_DEPLOY_NONINJECTED_WORKSPACE By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set
2026-02-28T07:28:09.6362724Z err: #15 3.050
2026-02-28T07:28:09.6362953Z err: #15 3.050 If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true
2026-02-28T07:28:10.9504791Z err: #15 ERROR: process "/bin/sh -c pnpm --filter backend deploy --prod --shamefully-hoist /app/backend-prod" did not complete successfully: exit code: 1
2026-02-28T07:28:11.9348739Z err: ------
2026-02-28T07:28:11.9349500Z err: > [build 9/9] RUN pnpm --filter backend deploy --prod --shamefully-hoist /app/backend-prod:
2026-02-28T07:28:11.9349911Z err: 2.441 backend | WARN The field "pnpm.overrides" was found in /app/backend/package.json. This will not take effect. You should configure "pnpm.overrides" at the root of the workspace instead.
2026-02-28T07:28:11.9350307Z err: 3.050 ERR_PNPM_DEPLOY_NONINJECTED_WORKSPACE By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set
2026-02-28T07:28:11.9350574Z err: 3.050
2026-02-28T07:28:11.9350782Z err: 3.050 If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true
2026-02-28T07:28:11.9351022Z err: ------
2026-02-28T07:28:11.9356927Z err: Dockerfile:47
2026-02-28T07:28:11.9357202Z err: --------------------
2026-02-28T07:28:11.9357445Z err: 45 |
2026-02-28T07:28:11.9357699Z err: 46 | # Deploy with production deps only (pnpm workspace isolation)
2026-02-28T07:28:11.9358814Z err: 47 | >>> RUN pnpm --filter backend deploy --prod --shamefully-hoist /app/backend-prod
2026-02-28T07:28:11.9359164Z err: 48 |
2026-02-28T07:28:11.9359378Z err: 49 | # =========================
2026-02-28T07:28:11.9359601Z err: --------------------
2026-02-28T07:28:11.9359968Z err: ERROR: failed to solve: process "/bin/sh -c pnpm --filter backend deploy --prod --shamefully-hoist /app/backend-prod" did not complete successfully: exit code: 1
2026-02-28T07:28:11.9413723Z out: 🏗️ Building Frontend...
2026-02-28T07:28:12.4469275Z err: #0 building with "default" instance using docker driver
2026-02-28T07:28:12.4470254Z err: #1 [internal] load build definition from Dockerfile
2026-02-28T07:28:12.7247587Z err: #1 transferring dockerfile:
2026-02-28T07:28:12.8922804Z err: #1 transferring dockerfile: 2.51kB done
2026-02-28T07:28:12.8923535Z err: #1 DONE 0.5s
2026-02-28T07:28:12.8923796Z err: #2 [internal] load metadata for docker.io/library/node:***-alpine
2026-02-28T07:28:13.4263707Z err: #2 DONE 0.5s
2026-02-28T07:28:13.6013261Z err: #3 [internal] load .dockerignore
2026-02-28T07:28:13.6013997Z err: #3 transferring context: 1.09kB done
2026-02-28T07:28:13.6244816Z err: #3 DONE 0.2s
2026-02-28T07:28:13.8002318Z err: #4 [deps 1/6] FROM docker.io/library/node:***-alpine@sha256:e4bf2a82ad0a4037d28035ae71529873c069b13eb0455466ae0bc13363826e34
2026-02-28T07:28:13.8003165Z err: #4 DONE 0.0s
2026-02-28T07:28:13.8003407Z err: #5 [internal] load build context
2026-02-28T07:28:13.9564006Z err: #5 transferring context: 1.03MB 0.2s done
2026-02-28T07:28:13.9564689Z err: #5 DONE 0.3s
2026-02-28T07:28:14.1235070Z err: #6 [build 5/8] COPY --from=deps /app/node_modules ./node_modules
2026-02-28T07:28:14.1235723Z err: #6 CACHED
2026-02-28T07:28:14.1236016Z err: #7 [deps 2/6] RUN corepack enable && corepack prepare pnpm@latest --activate
2026-02-28T07:28:14.1236331Z err: #7 CACHED
2026-02-28T07:28:14.1236545Z err: #8 [deps 3/6] WORKDIR /app
2026-02-28T07:28:14.1236813Z err: #8 CACHED
2026-02-28T07:28:14.1237009Z err: #9 [deps 4/6] COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
2026-02-28T07:28:14.1237217Z err: #9 CACHED
2026-02-28T07:28:14.1237420Z err: #10 [deps 5/6] COPY frontend/package.json ./frontend/
2026-02-28T07:28:14.1237665Z err: #10 CACHED
2026-02-28T07:28:14.1237857Z err: #11 [deps 6/6] RUN pnpm install --frozen-lockfile --filter lcbp3-frontend...
2026-02-28T07:28:14.1238082Z err: #11 CACHED
2026-02-28T07:28:14.1238299Z err: #12 [build 6/8] COPY --from=deps /app/frontend/node_modules ./frontend/node_modules
2026-02-28T07:28:14.1238576Z err: #12 CACHED
2026-02-28T07:28:14.2739757Z err: #13 [build 7/8] COPY frontend/ ./frontend/
2026-02-28T07:28:16.4757439Z err: #13 DONE 2.4s
2026-02-28T07:28:16.6137644Z err: #14 [build 8/8] RUN cd frontend && pnpm run build
2026-02-28T07:28:19.2945562Z err: #14 2.681
2026-02-28T07:28:19.2946185Z err: #14 2.681 > lcbp3-frontend@1.5.1 build /app/frontend
2026-02-28T07:28:19.2946424Z err: #14 2.681 > next build
2026-02-28T07:28:19.2946675Z err: #14 2.681
2026-02-28T07:28:19.9426429Z err: #14 3.329 [baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
2026-02-28T07:28:21.5126060Z err: #14 4.899 Attention: Next.js now collects completely anonymous telemetry regarding usage.
2026-02-28T07:28:21.6594269Z err: #14 4.899 This information is used to shape Next.js' roadmap and prioritize features.
2026-02-28T07:28:21.6595066Z err: #14 4.899 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
2026-02-28T07:28:21.6595338Z err: #14 4.899 https://nextjs.org/telemetry
2026-02-28T07:28:21.6595542Z err: #14 4.899
2026-02-28T07:28:21.6595769Z err: #14 4.944 ▲ Next.js 16.0.7 (Turbopack)
2026-02-28T07:28:21.6595995Z err: #14 4.944
2026-02-28T07:28:21.6596202Z err: #14 5.046 ⚠ The "middleware" file convention is deprecated. Please use "proxy" instead. Learn more: https://nextjs.org/docs/messages/middleware-to-proxy
2026-02-28T07:28:21.8821937Z err: #14 5.118 Creating an optimized production build ...
2026-02-28T07:28:22.0693831Z err: #14 5.455 [baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
2026-02-28T07:29:16.4593694Z err: #14 59.84 ✓ Compiled successfully in 54s
2026-02-28T07:29:16.6830456Z err: #14 59.92 Running TypeScript ...
2026-02-28T07:29:34.4007095Z err: #14 77.79 Failed to compile.
2026-02-28T07:29:34.4007780Z err: #14 77.79
2026-02-28T07:29:34.5600774Z err: #14 77.79 ./app/(***)/***/doc-control/drawings/contract/categories/page.tsx:110:77
2026-02-28T07:29:34.5601591Z err: #14 77.79 Type error: Argument of type '{ projectId: number; }' is not assignable to parameter of type 'CreateContractCategoryDto'.
2026-02-28T07:29:34.5601895Z err: #14 77.79 Type '{ projectId: number; }' is missing the following properties from type 'CreateContractCategoryDto': catCode, catName, sortOrder
2026-02-28T07:29:34.5602234Z err: #14 77.79
2026-02-28T07:29:34.5602475Z err: #14 77.79   108 | return data;
2026-02-28T07:29:34.5602788Z err: #14 77.79  109 | }}
2026-02-28T07:29:34.5603055Z err: #14 77.79 >[***m 110 | createFn={(data) => drawingMasterDataService.createContractCategory({ ...data, projectId: selectedProjectId })}
2026-02-28T07:29:34.5603366Z err: #14 77.79  | ^[***m
2026-02-28T07:29:34.5603594Z err: #14 77.79  111 | updateFn={(id, data) => drawingMasterDataService.updateContractCategory(id, data)}
2026-02-28T07:29:34.5603862Z err: #14 77.79  112 | deleteFn={(id) => drawingMasterDataService.deleteContractCategory(id)}
2026-02-28T07:29:34.5604155Z err: #14 77.79  113 | columns={columns}
2026-02-28T07:29:34.5604362Z err: #14 77.88 Next.js build worker exited with code: 1 and signal: null
2026-02-28T07:29:34.5604585Z err: #14 77.95 ELIFECYCLE Command failed with exit code 1.
2026-02-28T07:29:35.5179288Z err: #14 ERROR: process "/bin/sh -c cd frontend && pnpm run build" did not complete successfully: exit code: 1
2026-02-28T07:29:36.4573775Z err: ------
2026-02-28T07:29:36.4574422Z err: > [build 8/8] RUN cd frontend && pnpm run build:
2026-02-28T07:29:36.4574721Z err: 77.79
2026-02-28T07:29:36.4575023Z err: 77.79   108 | return data;
2026-02-28T07:29:36.4575278Z err: 77.79  109 | }}
2026-02-28T07:29:36.4575581Z err: 77.79 >[***m 110 | createFn={(data) => drawingMasterDataService.createContractCategory({ ...data, projectId: selectedProjectId })}
2026-02-28T07:29:36.4575926Z err: 77.79  | ^[***m
2026-02-28T07:29:36.4576165Z err: 77.79  111 | updateFn={(id, data) => drawingMasterDataService.updateContractCategory(id, data)}
2026-02-28T07:29:36.4576483Z err: 77.79  112 | deleteFn={(id) => drawingMasterDataService.deleteContractCategory(id)}
2026-02-28T07:29:36.4576748Z err: 77.79  113 | columns={columns}
2026-02-28T07:29:36.4576959Z err: 77.88 Next.js build worker exited with code: 1 and signal: null
2026-02-28T07:29:36.4577200Z err: 77.95 ELIFECYCLE Command failed with exit code 1.
2026-02-28T07:29:36.4577418Z err: ------
2026-02-28T07:29:36.4581504Z err: Dockerfile:48
2026-02-28T07:29:36.4581827Z err: --------------------
2026-02-28T07:29:36.4582039Z err: 46 |
2026-02-28T07:29:36.4582234Z err: 47 | # Build Next.js → frontend/.next/standalone
2026-02-28T07:29:36.4582627Z err: 48 | >>> RUN cd frontend && pnpm run build
2026-02-28T07:29:36.4582896Z err: 49 |
2026-02-28T07:29:36.4583083Z err: 50 | # =========================
2026-02-28T07:29:36.4583348Z err: --------------------
2026-02-28T07:29:36.4583579Z err: ERROR: failed to solve: process "/bin/sh -c cd frontend && pnpm run build" did not complete successfully: exit code: 1
2026-02-28T07:29:36.4634772Z out: 🔄 Updating Containers...
2026-02-28T07:29:38.8649465Z out: backend
2026-02-28T07:29:38.8650874Z out: frontend
2026-02-28T07:29:38.8666294Z out: 🟢 Starting Backend...
2026-02-28T07:29:39.0574121Z err: Container backend Creating
2026-02-28T07:29:41.4997878Z err: Container backend Created
2026-02-28T07:29:41.5033631Z err: Container backend Starting
2026-02-28T07:29:43.2328464Z err: Container backend Started
2026-02-28T07:29:43.2377840Z out: ⏳ Waiting for Backend health check...
2026-02-28T07:30:03.4092414Z out: ✅ Backend is healthy!
2026-02-28T07:30:03.4093136Z out: 🟢 Starting Frontend...
2026-02-28T07:30:03.5226638Z err: Container backend Running
2026-02-28T07:30:03.5227283Z err: Container frontend Creating
2026-02-28T07:30:04.6052042Z err: Container frontend Created
2026-02-28T07:30:04.6098124Z err: Container backend Waiting
2026-02-28T07:30:05.1115539Z err: Container backend Healthy
2026-02-28T07:30:05.1116560Z err: Container frontend Starting
2026-02-28T07:30:06.7160562Z err: Container frontend Started
2026-02-28T07:30:06.7319282Z out: 🧹 Cleaning up unused images...
2026-02-28T07:30:06.7671669Z out: Total reclaimed space: 0B
2026-02-28T07:30:06.7692720Z out: ✅ Deployment Complete!
2026-02-28T07:30:06.7695856Z ==============================================
2026-02-28T07:30:06.7696146Z ✅ Successfully executed commands to all host.
2026-02-28T07:30:06.7696528Z ==============================================
2026-02-28T07:30:07.5982536Z failed to remove container: Error response from daemon: removal of container bfe459c3717df53d68c8dc1a47ecb1***fcb73eb398f254a35c970bc95293697c is already in progress
2026-02-28T07:30:07.6088377Z Cleaning up container for job deploy
2026-02-28T07:30:08.8347987Z Removed container: 544596ec99aae4e94958af73711d8d1a616d964139c03ef6421768e2572c3903
2026-02-28T07:30:08.8360338Z 🐳 docker volume rm GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy
2026-02-28T07:30:08.9811898Z 🐳 docker volume rm GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy-env
2026-02-28T07:30:09.0965636Z Cleaning up network for job deploy, and network name is: GITEA-ACTIONS-TASK-34_WORKFLOW-Build-and-Deploy_JOB-deploy-deploy-network
2026-02-28T07:30:09.5133115Z 🏁 Job succeeded