Emil Miler 974972222a
Some checks failed
Build and Publish / build (push) Failing after 1m32s
Build and Publish / publish (push) Has been skipped
Vylepšení CI pipeline
2025-04-09 10:26:19 +02:00

58 lines
1.4 KiB
YAML

name: Build and Publish
on:
push:
branches:
- master
env:
ZOLA_VERSION: "0.19.2"
HOST: "receptty.org"
HOST_DIR: "/srv/www/receptty.org/"
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
jobs:
build:
runs-on: ubuntu-latest
outputs:
artifact-name: build-output
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Zola
run: |
wget https://github.com/getzola/zola/releases/download/v${ZOLA_VERSION}/zola-v${ZOLA_VERSION}-x86_64-unknown-linux-gnu.tar.gz
tar -xvzf *.tar.gz
- name: Build
run: ./zola build
- name: Upload site artifact
uses: actions/upload-artifact@v4
with:
name: build-output
path: public/
publish:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download site artifact
uses: actions/download-artifact@v4
with:
name: build-output
path: public
- name: Deploy via rsync over SSH
run: |
apt update -y && apt-get install -y --no-install-recommends rsync
eval "$(ssh-agent -s)"
ssh-add - <<< "${SSH_PRIVATE_KEY}"
mkdir -p ~/.ssh/
ssh-keyscan -H ${HOST} >> ~/.ssh/known_hosts
rsync -r --delete-after public/* "${SSH_USERNAME}@${HOST}:${HOST_DIR}"