TinyLifeWeb/.github/workflows/web.yml

29 lines
1.1 KiB
YAML

on: [push, pull_request]
jobs:
web:
runs-on: ubuntu-latest
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/web/Gemfile
steps:
- name: Clone repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: Build
run: cd web && bundle exec jekyll build
# this is a beautiful way to deploy a website and i will not take any criticism
- name: Deploy
run: |
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && sudo dpkg -i cloudflared.deb
mkdir ~/.ssh && chmod 700 ~/.ssh
echo "Host *" >> ~/.ssh/config && echo "ProxyCommand cloudflared access ssh --hostname %h" >> ~/.ssh/config && chmod 600 ~/.ssh/config
echo "${{ secrets.ELLBOT_KEY }}" >> ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
rsync -e "ssh -o StrictHostKeyChecking=no -P 222" -r --delete web/_site/. ellbot@ssh.ellpeck.de:/var/www/tinylifegame