123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # Sample workflow for building and deploying a Hugo site to GitHub Pages
- name: Deploy Hugo 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
- # Default to bash
- defaults:
- run:
- shell: bash
- jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- env:
- HUGO_VERSION: 0.134.3
- steps:
- - name: Install Hugo CLI
- run: |
- wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
- && sudo dpkg -i ${{ runner.temp }}/hugo.deb
- - name: Install Dart Sass
- run: sudo snap install dart-sass
- - name: Checkout
- uses: actions/checkout@v4
- with:
- submodules: recursive
- fetch-depth: 0
- - name: Setup Pages
- id: pages
- uses: actions/configure-pages@v5
- - name: Install Node.js dependencies
- run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- - name: Build with Hugo
- env:
- HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
- HUGO_ENVIRONMENT: production
- TZ: America/Los_Angeles
- run: |
- hugo \
- --gc \
- --minify \
- --baseURL "${{ steps.pages.outputs.base_url }}/"
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
- with:
- path: ./public
- # 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@v4
|