41 lines
No EOL
1.4 KiB
YAML
41 lines
No EOL
1.4 KiB
YAML
name: Hugo
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Add key
|
|
run: |
|
|
mkdir $HOME/.ssh && \
|
|
echo "${{ secrets.SSH_PRIVATE_KEY }}" > $HOME/.ssh/id_rsa
|
|
- name: Grab packages
|
|
run: |
|
|
apt-get update && \
|
|
apt-get install -y jq rsync tar wget && \
|
|
chmod +x hugo
|
|
- name: Get latest Hugo version
|
|
run: |
|
|
url=$(curl --silent "https://api.github.com/repos/gohugoio/hugo/releases/latest" | jq -r '.assets[] | select(.name | contains("linux-amd64.tar.gz")) | .browser_download_url' | grep -E 'hugo_[0-9]+\.[0-9]+\.[0-9]+_linux-amd64.tar.gz')
|
|
wget -P /tmp/hugo/ "$url"
|
|
version=$(echo "$url" | grep -oP 'hugo_\K[0-9]+\.[0-9]+\.[0-9]+')
|
|
echo "Downloaded Hugo version: $version"
|
|
- name: Unpack Hugo
|
|
run: tar -xf /tmp/hugo/* -C ${{ gitea.workspace }}/bin
|
|
- name: Build the static webpage
|
|
run: ${{ gitea.workspace }}/bin/hugo --minify
|
|
- name: Test static page
|
|
run: bash ${{ gitea.workspace }}/bin/test_static_page.sh
|
|
- name: Deploy to Server
|
|
uses: easingthemes/ssh-deploy@main
|
|
env:
|
|
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
ARGS: "-rlgoDzvc -i --delete"
|
|
SOURCE: "public/"
|
|
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
|
|
REMOTE_USER: ${{ secrets.REMOTE_USER }}
|
|
TARGET: ${{ secrets.REMOTE_TARGET }} |