Skip to content

Deploy react demo

Deploy react demo #10

name: Deploy react demo
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2
with:
bun-version: '1.2.4'
- name: Build code
env:
HAPPY_IFRAME_URL: "https://iframe.happy.tech"
NODE_ENV: "production"
run: |
make demo-react.build
- name: Copy files to server
uses: appleboy/scp-action@917f8b81dfc1ccd331fef9e2d61bdc6c8be94634 # v0.1.7
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: ${{ secrets.SERVER_PORT }}
source: "demos/react/dist"
target: /home/deployer/demo-react
strip_components: 3 # Remove the first 3 levels of directories from the source path to copy only the files inside dist
rm: true
- name: Deploy react demo to server
uses: appleboy/ssh-action@25ce8cbbcb08177468c7ff7ec5cbfa236f9341e1 # v1.1.0
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: ${{ secrets.SERVER_PORT }}
script: |
chmod -R o+rX /home/deployer/demo-react
mv /home/deployer/demo-react /tmp
sudo -u demo_react bash -c '
rm -rf /var/www/demo-react/*
cp -r /tmp/demo-react/* /var/www/demo-react
'
rm -rf /tmp/demo-react