mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-21 21:50:49 +02:00
46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
name: Update Test Server
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Docker Dev Branch Images Build"]
|
|
types:
|
|
- completed
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
if: |
|
|
github.repository == 'danny-avila/LibreChat' &&
|
|
(github.event_name == 'workflow_dispatch' ||
|
|
(github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'dev'))
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install SSH Key
|
|
uses: shimataro/ssh-key-action@v2
|
|
with:
|
|
key: ${{ secrets.DO_SSH_PRIVATE_KEY }}
|
|
known_hosts: ${{ secrets.DO_KNOWN_HOSTS }}
|
|
|
|
- name: Run update script on DigitalOcean Droplet
|
|
env:
|
|
DO_HOST: ${{ secrets.DO_HOST }}
|
|
DO_USER: ${{ secrets.DO_USER }}
|
|
run: |
|
|
ssh -o StrictHostKeyChecking=no ${DO_USER}@${DO_HOST} << EOF
|
|
sudo -i -u danny bash << 'EEOF'
|
|
cd ~/LibreChat && \
|
|
git fetch origin main && \
|
|
sudo npm run stop:deployed && \
|
|
sudo docker images --format "{{.Repository}}:{{.ID}}" | grep -E "lc-dev|librechat" | cut -d: -f2 | xargs -r sudo docker rmi -f || true && \
|
|
sudo npm run update:deployed && \
|
|
git checkout dev && \
|
|
git pull origin dev && \
|
|
git checkout do-deploy && \
|
|
git rebase dev && \
|
|
sudo npm run start:deployed && \
|
|
echo "Update completed. Application should be running now."
|
|
EEOF
|
|
EOF
|