Pour garantir que votre site bénéfie des fonctionnalités et correctifs les plus récents, il est crucial de le maintenir à jour avec la dernière version du thème. Cet article vous guidera tout au long du processus de mise en place du workflow Github qui mettra à jour automatiquement la version du thème. Cette action réalisera quotidiennement une vérification d’une mise à jour du thème. Si une mise à jour est détectée, cela va générer une PR qui mettra à jour votre site avec la version du thème la plus récente.

Configurer Github Workflow

Maintenant, créez un fichier theme-update.yml dans le répertoire .github/workflows de votre dépôt avec le contenu suivant:

name: "Theme Update"

on:
  schedule:
    - cron: "0 0 * * *"

jobs:
  update-theme:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.1.1
        with:
          ref: main

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 18

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2.6.0
        with:
          hugo-version: "latest"
          extended: true

      - name: Update hugo modules
        run: |
          # update to latest version of all modules
          hugo mod get -u

          # update the npm dependencies
          hugo mod npm pack

          # cleanup go.sum file
          hugo mod tidy          

      - name: Install node modules
        run: npm install

      - name: Build
        run: |
          # build the site
          hugo --minify
          # remove file generated by the build
          rm -rf public/          

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v5
        with:
          base: main
          title: Update theme
          labels: automerge

Vous êtes bien pour vous lancer. A partir de maintenant, cette action s’exécutera quotidiennement et génèrera une Pull Request si des mises à jour du thème sont détectées.

From now on, this action will execute on a daily basis and generate a Pull Request if any updates to the theme are detected.