76 lines
3.4 KiB
YAML
76 lines
3.4 KiB
YAML
name: Build and deploy jekyll site
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
# - source
|
|
# It is highly recommended that you only run this action on push to a
|
|
# specific branch, eg. master or source (if on *.github.io repo)
|
|
|
|
jobs:
|
|
jekyll:
|
|
runs-on: ubuntu-latest # can change this to ubuntu-latest if you prefer
|
|
steps:
|
|
- name: 📂 setup
|
|
uses: actions/checkout@v2
|
|
# include the lines below if you are using jekyll-last-modified-at
|
|
# or if you would otherwise need to fetch the full commit history
|
|
# however this may be very slow for large repositories!
|
|
# with:
|
|
# fetch-depth: '0'
|
|
|
|
- name: 💎 setup ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.7 # can change this to 2.7 or whatever version you prefer
|
|
|
|
- name: 🔨 install dependencies & build site
|
|
uses: limjh16/jekyll-action-ts@v2
|
|
with:
|
|
enable_cache: true
|
|
### Enables caching. Similar to https://github.com/actions/cache.
|
|
#
|
|
# format_output: true
|
|
### Uses prettier https://prettier.io to format jekyll output HTML.
|
|
#
|
|
# prettier_opts: '{ "useTabs": true }'
|
|
### Sets prettier options (in JSON) to format output HTML. For example, output tabs over spaces.
|
|
### Possible options are outlined in https://prettier.io/docs/en/options.html
|
|
#
|
|
# prettier_ignore: 'about/*'
|
|
### Ignore paths for prettier to not format those html files.
|
|
### Useful if the file is exceptionally large, so formatting it takes a while.
|
|
### Also useful if HTML compression is enabled for that file / formatting messes it up.
|
|
#
|
|
jekyll_src: docs
|
|
### If the jekyll website source is not in root, specify the directory. (in this case, sample_site)
|
|
### By default, this is not required as the action searches for a _config.yml automatically.
|
|
#
|
|
gem_src: docs
|
|
### By default, this is not required as the action searches for a _config.yml automatically.
|
|
### However, if there are multiple Gemfiles, the action may not be able to determine which to use.
|
|
### In that case, specify the directory. (in this case, sample_site)
|
|
###
|
|
### If jekyll_src is set, the action would automatically choose the Gemfile in jekyll_src.
|
|
### In that case this input may not be needed as well.
|
|
#
|
|
# key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
# restore-keys: ${{ runner.os }}-gems-
|
|
### In cases where you want to specify the cache key, enable the above 2 inputs
|
|
### Follows the format here https://github.com/actions/cache
|
|
#
|
|
# custom_opts: '--drafts --lsi'
|
|
### If you need to specify any Jekyll build options, enable the above input
|
|
### Flags accepted can be found here https://jekyllrb.com/docs/configuration/options/#build-command-options
|
|
|
|
- name: 🚀 deploy
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ./_site
|
|
# if the repo you are deploying to is <username>.github.io, uncomment the line below.
|
|
# if you are including the line below, make sure your source files are NOT in the master branch:
|
|
# publish_branch: master
|
|
|