12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- name: Deploy Hugo site to Pages
- on:
-
- push:
- branches: ["main"]
-
- workflow_dispatch:
- permissions:
- contents: read
- pages: write
- id-token: write
- concurrency:
- group: "pages"
- cancel-in-progress: false
- defaults:
- run:
- shell: bash
- jobs:
-
- build:
- runs-on: ubuntu-latest
- env:
- HUGO_VERSION: 0.128.0
- 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
- - name: Setup Pages
- id: pages
- uses: actions/configure-pages@v5
- - name: Install Node.js dependencies
- run: npm ci || true
- - name: Build with Hugo
- env:
- HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
- HUGO_ENVIRONMENT: production
- run: |
- hugo \
- --minify \
- --baseURL "${{ steps.pages.outputs.base_url }}/"
- - name: Run Pagefind
- run: npx -y pagefind --site public
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
- with:
- path: ./public
-
- 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
|