Skip to content

Commit a5ea1f5

Browse files
committed
chore: update github actions to build and upload page via rsync
1 parent 79bb26a commit a5ea1f5

File tree

1 file changed

+15
-68
lines changed

1 file changed

+15
-68
lines changed

.github/workflows/hugo.yml

Lines changed: 15 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,25 @@
1-
# Sample workflow for building and deploying a Hugo site to GitHub Pages
2-
name: Deploy Hugo site to Pages
3-
41
on:
5-
# Runs on pushes targeting the default branch
62
push:
73
branches:
84
- main
95

10-
# Allows you to run this workflow manually from the Actions tab
11-
workflow_dispatch:
12-
13-
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14-
permissions:
15-
contents: read
16-
pages: write
17-
id-token: write
18-
19-
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20-
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
21-
concurrency:
22-
group: "pages"
23-
cancel-in-progress: false
24-
25-
# Default to bash
26-
defaults:
27-
run:
28-
shell: bash
29-
306
jobs:
31-
# Build job
32-
build:
7+
deploy:
338
runs-on: ubuntu-latest
34-
env:
35-
HUGO_VERSION: 0.121.1
369
steps:
37-
- name: Install Hugo CLI
38-
run: |
39-
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
40-
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
41-
- name: Install Dart Sass
42-
run: sudo snap install dart-sass
43-
- name: Checkout
44-
uses: actions/checkout@v4
10+
- uses: actions/checkout@v4
11+
- name: Setup Hugo
12+
uses: peaceiris/actions-hugo@v3
4513
with:
46-
submodules: recursive
47-
fetch-depth: 0
48-
- name: Setup Pages
49-
id: pages
50-
uses: actions/configure-pages@v5
51-
- name: Install Node.js dependencies
52-
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
53-
- name: Build with Hugo
54-
env:
55-
# For maximum backward compatibility with Hugo modules
56-
HUGO_ENVIRONMENT: production
57-
HUGO_ENV: production
58-
run: |
59-
hugo \
60-
--gc \
61-
--minify \
62-
--baseURL "${{ steps.pages.outputs.base_url }}/"
63-
- name: Upload artifact
64-
uses: actions/upload-pages-artifact@v2
14+
hugo-version: "latest"
15+
- name: Build site with Hugo
16+
run: hugo --minify
17+
- name: rsync deployments
18+
uses: burnett01/rsync-deployments@7
6519
with:
66-
path: ./public
67-
68-
# Deployment job
69-
deploy:
70-
environment:
71-
name: github-pages
72-
url: ${{ steps.deployment.outputs.page_url }}
73-
runs-on: ubuntu-latest
74-
needs: build
75-
steps:
76-
- name: Deploy to GitHub Pages
77-
id: deployment
78-
uses: actions/deploy-pages@v3
20+
switches: -avzr --delete
21+
path: /
22+
remote_path: /var/www/virtual/${{ secrets.RSYNC_USER }}/hugo
23+
remote_host: ${{ secrets.RSYNC_HOST }}
24+
remote_user: ${{ secrets.RSYNC_USER }}
25+
remote_key: ${{ secrets.RSYNC_DEPLOY_KEY }}

0 commit comments

Comments
 (0)