github.com/alimy/mir/v4@v4.1.0/.github/workflows/hugo.yml (about)

     1  # Sample workflow for building and deploying a Hugo site to GitHub Pages
     2  name: Deploy Hugo site to Pages
     3  
     4  on:
     5    # Runs on pushes targeting the default branch
     6    push:
     7      branches: ["main"]
     8  
     9    # Allows you to run this workflow manually from the Actions tab
    10    workflow_dispatch:
    11  
    12  # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
    13  permissions:
    14    contents: read
    15    pages: write
    16    id-token: write
    17  
    18  # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
    19  # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
    20  concurrency:
    21    group: "pages"
    22    cancel-in-progress: false
    23  
    24  # Default to bash
    25  defaults:
    26    run:
    27      shell: bash
    28  
    29  jobs:
    30    # Build job
    31    build:
    32      runs-on: ubuntu-latest
    33      env:
    34        HUGO_VERSION: 0.115.0
    35      steps:
    36        - name: Install Hugo CLI
    37          run: |
    38            wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
    39            && sudo dpkg -i ${{ runner.temp }}/hugo.deb
    40        - name: Install Dart Sass Embedded
    41          run: sudo snap install dart-sass-embedded
    42        - name: Checkout
    43          uses: actions/checkout@v3
    44          with:
    45            submodules: recursive
    46        - name: Setup Pages
    47          id: pages
    48          uses: actions/configure-pages@v3
    49        - name: Install Node.js dependencies
    50          run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
    51        - name: Build with Hugo
    52          env:
    53            # For maximum backward compatibility with Hugo modules
    54            HUGO_ENVIRONMENT: production
    55            HUGO_ENV: production
    56          working-directory: docs
    57          run: |
    58            hugo \
    59              --minify \
    60              --baseURL "${{ steps.pages.outputs.base_url }}/"
    61        - name: Upload artifact
    62          uses: actions/upload-pages-artifact@v1
    63          with:
    64            path: ./docs/public
    65  
    66    # Deployment job
    67    deploy:
    68      environment:
    69        name: github-pages
    70        url: ${{ steps.deployment.outputs.page_url }}
    71      runs-on: ubuntu-latest
    72      needs: build
    73      steps:
    74        - name: Deploy to GitHub Pages
    75          id: deployment
    76          uses: actions/deploy-pages@v2