43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: Plant Growing Automation
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: pigrow
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
run: |
|
|
cd ~/apps/grow
|
|
git fetch
|
|
git checkout main
|
|
git pull origin main
|
|
- name: Install dependencies
|
|
run: |
|
|
cd ~/apps/grow
|
|
if [ -f package-lock.json ] || [ -f package.json ]; then
|
|
echo "Installing npm dependencies..."
|
|
npm install
|
|
else
|
|
echo "No Node.js project found (missing package.json)"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Stop existing screen session, if running
|
|
run: |
|
|
if screen -list | grep -q "grow_server"; then
|
|
echo "Stopping existing screen session..."
|
|
screen -S grow_server -X quit
|
|
fi
|
|
|
|
- name: Start server in screen session
|
|
run: |
|
|
cd ~/apps/grow
|
|
|
|
setsid screen -dmS grow_server bash -c 'HTTP_PORT=8080 WS_PORT=3003 npm start >server.log 2>&1'
|
|
echo "Server started in detached screen session"
|