Skip to content

feat: Misc fixes and small bits of content (#279) #24

feat: Misc fixes and small bits of content (#279)

feat: Misc fixes and small bits of content (#279) #24

Workflow file for this run

name: Deploy to 2004scape.org world servers
on:
push:
branches: [ main ]
paths:
- '.github/workflows/deploy-worlds.yml'
- 'data/**'
- '!public/**'
- 'public/js/teavm/classes.js'
- 'src/**'
- '!*.test.ts'
- '!src/lostcity/web/**'
- 'src/lostcity/web/routes/cache.js'
- '!view/**'
- 'view/webclient-inner.ejs'
workflow_dispatch:
concurrency:
group: deploy-worlds
cancel-in-progress: true
jobs:
deploy:
strategy:
matrix:
world:
- { number: 1, type: "Free", directory: "w1.225" }
- { number: 2, type: "Members", directory: "w2.225" }
- { number: 3, type: "Members", directory: "w3" }
- { number: 4, type: "Free", directory: "w4" }
name: Deploy to World ${{ matrix.world.number }} (${{ matrix.world.type }}) server
runs-on: ubuntu-latest
steps:
- name: Executing commands over SSH
uses: appleboy/[email protected]
with:
host: ${{ secrets[format('SSH_WORLD{0}_HOST', matrix.world.number)] }}
port: ${{ secrets[format('SSH_WORLD{0}_PORT', matrix.world.number)] }}
username: ${{ secrets[format('SSH_WORLD{0}_USER', matrix.world.number)] }}
key: ${{ secrets[format('SSH_WORLD{0}_KEY', matrix.world.number)] }}
script: |
[ -s "$HOME/.nvm/nvm.sh" ] && source "$HOME/.nvm/nvm.sh" && nvm use
cd ${{ matrix.world.directory }}
pm2 stop w${{ matrix.world.number }}-server
git pull
npm ci
pm2 start w${{ matrix.world.number }}-maintenance
npm run client:clean
npm run client:pack
npm run server:clean
npm run server:build
pm2 stop w${{ matrix.world.number }}-maintenance
pm2 start w${{ matrix.world.number }}-server