Skip to content

update post

update post #130

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
# 1. Clone and checkout repository
- name: Checkout
uses: actions/checkout@v3
# 2. setup Ruby development environment
- name: Setup Ruby
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
# 3. Setup cache
- name: Setup cache for Bundler
id: cache
uses: actions/cache@v3
with:
path: |
Gemfile.lock
vendor/bundle
key: ${{ runner.os }}-bundler-2-${{ hashFiles('Gemfile') }}
restore-keys: |
${{ runner.os }}-bundler-2-
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Setup cache for Node.js
id: cache-npm
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('package.json') }}
# 4. Install dependencies
- name: Install - Bundler
env:
MAKE: make -j2
run: |
bundle install --path=vendor/bundle --jobs=4 --retry=3
bundle clean
- name: Install - NPM
if: steps.cache-npm.outputs.cache-hit != 'true'
run: |
npm install --also=dev
# 5. Build site
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" --future
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v2
# 6. Update Algolia idex
- name: Update Algolia index
run: bundle exec jekyll algolia push
env:
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
continue-on-error: true
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2