Skip to content

fix: match setup-node node version with what's used by the little pi #10

fix: match setup-node node version with what's used by the little pi

fix: match setup-node node version with what's used by the little pi #10

Workflow file for this run

name: Epitome CI/CD
on:
push:
branches:
- master
- test/gh-actions
jobs:
deploy:
name: Deploy to Raspberry Pi 4 (self-hosted) 🦖
env:
TOKEN: ${{ secrets.TOKEN }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
runs-on: self-hosted
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Check out yarn cache
uses: actions/setup-node@v4
with:
node-version: 16
cache: yarn
- name: Install npm dependencies with yarn if needed
run: yarn install --from-lock-file
- name: Build epitome (/dist)
run: yarn run build
- name: Stop previous epitome pm2 process
run: pm2 delete epitome 2> /dev/null || true
- name: Create a database backup
run: touch ~/apps/database.sqlite && cp ~/apps/database.sqlite ~/.epitome.database.sqlite.backup
- name: Prepare application directory
run: rm -rf ~/apps/epitome && mkdir ~/apps/epitome
- name: Move build contents & dependencies to application directory
run: mv dist/* ~/apps/epitome && mv node_modules ~/apps/epitome
- name: Export token and client id as environment variables
run: export TOKEN=$TOKEN && export CLIENT_ID=$CLIENT_ID
- name: Restore database backup
run: cp ~/.epitome.database.sqlite.backup ~/apps/epitome/database.sqlite && rm ~/.epitome.database.sqlite.backup
- name: Start new epitome pm2 process
run: cd ~/apps/epitome && pm2 start -f index.js --name epitome && pm2 save