mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2026-04-17 10:08:43 -04:00
move to Netlify with native builds (#12)
This commit is contained in:
63
.github/workflows/gh-pages.yml
vendored
63
.github/workflows/gh-pages.yml
vendored
@@ -1,63 +0,0 @@
|
||||
name: GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
with:
|
||||
fetch-depth: 1
|
||||
lfs: false
|
||||
|
||||
# Pull from custom Hugo Extended image with opinionated changes:
|
||||
# https://github.com/jakejarvis/hugo-custom/packages
|
||||
# https://github.com/jakejarvis/hugo-custom/blob/master/Dockerfile
|
||||
# Can't use native `uses: docker://` syntax for GitHub Package Registry...
|
||||
- name: Build Hugo
|
||||
run: |
|
||||
echo ${{ secrets.GITHUB_ACCESS_TOKEN }} | docker login docker.pkg.github.com -u $GITHUB_ACTOR --password-stdin
|
||||
docker run -v $GITHUB_WORKSPACE:/src docker.pkg.github.com/jakejarvis/hugo-custom/hugo-custom:latest --gc --cleanDestinationDir --verbose
|
||||
docker logout docker.pkg.github.com
|
||||
|
||||
# Copy built site to a directory where we have permissions, and
|
||||
# add a CNAME file for a custom domain (jarv.is).
|
||||
- name: Prepare for GitHub Pages
|
||||
run: |
|
||||
cp -r $GITHUB_WORKSPACE/public $HOME/gh-pages
|
||||
echo "jarv.is" > $HOME/gh-pages/CNAME
|
||||
|
||||
# Put a bow on top of Hugo's automatic image processing by using
|
||||
# pngquant and jpegoptim to optimize/compress images in posts,
|
||||
# just a little lossily (is that a word?)
|
||||
#
|
||||
# TODO: Find a way to cache the results, this takes about 4 minutes
|
||||
# each build -- not ideal. Maybe use @sindresorhus/imagemin.
|
||||
- name: Optimize processed images
|
||||
run: |
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends jpegoptim pngquant optipng
|
||||
cd $HOME/gh-pages/notes
|
||||
find . -iname "*.jp*" -print0 | xargs -0 jpegoptim --max=80 --strip-all
|
||||
find . -iname "*.png" -print0 | xargs -0 pngquant --quality=50-70 --speed 3 --ext=.png --force
|
||||
find . -iname "*.png" -print0 | xargs -0 optipng -o3 -force -strip all -quiet --
|
||||
# Ignore errors - override pipefail
|
||||
shell: bash {0}
|
||||
|
||||
# Initialize a sub-repository in the new gh-pages directory and
|
||||
# add jakejarvis/jakejarvis.github.io as a remote.
|
||||
# Using native git commands for speed and simplicity, and because
|
||||
# this setup is a weird edge case not worth making an action for.
|
||||
- name: Deploy to jakejarvis.github.io
|
||||
run: |
|
||||
cd $HOME/gh-pages
|
||||
git init
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
git remote add origin https://${{ secrets.GITHUB_ACCESS_TOKEN }}@github.com/jakejarvis/jakejarvis.github.io.git
|
||||
git add -A
|
||||
git commit -m "GitHub Pages deploy from $GITHUB_REPOSITORY@$GITHUB_SHA"
|
||||
git push --force origin master
|
||||
Reference in New Issue
Block a user