~shunter/ur-game

3cd692ef2e11723d5dff46a12c96b43e2169b153 — Samuel Hunter 3 years ago 0436269
Add deploy sourcehut build

After a bit of tinkering, this buildscript compiles Ur into a binary
with roswell, ships it off with htdocs to the production server, and
restarts the service.
3 files changed, 33 insertions(+), 3 deletions(-)

A .builds/deploy.yml
M .builds/ghmirror.yml
M TODO.md
A .builds/deploy.yml => .builds/deploy.yml +33 -0
@@ 0,0 1,33 @@
image: debian/stable
environment:
  prod: cd@shunter.xyz
  target: /srv/ur-game
  roswell_release: 21.06.14.110
packages:
- wget
- rsync
secrets:
- 1ee8ca54-5b4d-4d53-97cd-52fbb9606387
sources:
- https://git.sr.ht/~shunter/ur-game
tasks:
- install-roswell: |
    wget -Oroswell.tar.bz2 https://github.com/roswell/roswell/releases/download/v21.06.14.110/roswell-$roswell_release-linux-x86_64.tar.bz2
    tar -xf roswell.tar.bz2
    $HOME/roswell/ros install sbcl-bin
    $HOME/roswell/ros use sbcl-bin
- build: |
    cd ur-game
    $HOME/roswell/ros build roswell/ur-game.ros
- deploy: |
    sshopts="ssh -o StrictHostKeyChecking=no -p 2220"
    rsyncopts="--recursive --partial --progress --delete"

    cd ur-game
    $sshopts $prod sudo systemctl stop ur-game.service
    rsync --rsh="$sshopts" $rsyncopts index.html static roswell/ur-game $prod:$target
    $sshopts $prod sudo systemctl start ur-game.service
triggers:
- action: email
  condition: failure
  to: builds@shunter.xyz

M .builds/ghmirror.yml => .builds/ghmirror.yml +0 -1
@@ 4,7 4,6 @@ environment:
  GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no
secrets:
- d4afbad1-4f43-433a-bf95-c859d4a6abcd
shell: false
sources:
- https://git.sr.ht/~shunter/ur-game
tasks:

M TODO.md => TODO.md +0 -2
@@ 1,8 1,6 @@
# TODO

- Investigate API plan
- Streamline some binary deployment method for ur-game, use Roswell for it.
- Fix sourcehut builds github mirror
- Refactor API, use HATEOAS. Don't even mention REST, because it's not. Really
  make modules for both ends to take advantage of it.
- Decouple board routes from front-end