How to set minimum Hugo version?

And fail the build with an error for versions below the minimum version?

{{- $minHugoVersion := "0.114.0" }}
{{- if lt hugo.Version $minHugoVersion }}
  {{- errorf "Something requires Hugo v%s or later." $minHugoVersion }}
{{- end }}
1 Like

I forgot about…

hugo.toml

[module.hugoVersion]
extended = true
min = '0.113.0'

Which emits this warning in the console:

WARN 2023/06/09 17:35:20 Module "project" is not compatible with this Hugo version; run "hugo mod graph" for more information.
1 Like

This worked. But can it be configured to fail the build rather than omit a warning?

If you need to fail the build, use the first option.

1 Like

I placed the code at the top of the the baseof.html file and it generates the same error 3 times. Is that expected?

$ hugo server
Start building sites …
hugo v0.112.7-ea3c95a7b0f2140c248c1f40246a2e7acd2ada62+extended windows/amd64 BuildDate=2023-06-02T07:07:11Z VendorInfo=gohugoio
ERROR 2023/06/10 17:45:16 Only Hugo v0.113.0 or later is supported.
ERROR 2023/06/10 17:45:19 Only Hugo v0.113.0 or later is supported.
ERROR 2023/06/10 17:45:19 Only Hugo v0.113.0 or later is supported.
Built in 5212 ms
Error: error building site: logged 3 error(s)

Is this a multilingual site?

yes it is.

So run the code (a) only on the first site (language) and (b) only on the home page.

{{ if .Eq site.Sites.First.Home }}
  {{- $minHugoVersion := "0.112.0" }}
  {{- if lt hugo.Version $minHugoVersion }}
    {{- errorf "Something requires Hugo v%s or later." $minHugoVersion }}
  {{- end }}
{{ end }}
1 Like

Thanks. Works now. Needed to use the code to fail the build on Cloudflare Pages to remind me (via email) to update the environment variable for Hugo version.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.