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