diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index baf02554c..b3dd418d1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -105,15 +105,15 @@ jobs:
include:
- container: ubuntu:22.04 # glibc 2.35
# cargo-udeps depends on openssl 1.1
- tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
+ tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
- container: fedora:latest # glibc 2.36 (as of fedora 37)
# cargo-udeps depends on openssl 1.1
- tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin
+ tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,protoc,shellcheck,shfmt,wasm-pack,wasmtime,mdbook,mdbook-linkcheck,cargo-watch,grcov,watchexec-cli,cargo-tarpaulin,zola
- container: centos:7 # glibc 2.17
- # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl or old glibc host.
+ # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl or old glibc host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
- container: alpine:latest # musl 1.2.3 (as of alpine 3.17)
- # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch don't provide prebuilt binaries for musl host.
+ # cargo-udeps,protoc,valgrind,wasmtime,mdbook-linkcheck,cargo-watch,zola don't provide prebuilt binaries for musl host.
tool: cargo-hack,cargo-llvm-cov,cargo-minimal-versions,cargo-no-dev-deps,parse-changelog,cargo-valgrind,cargo-deny,cross,dprint,just,nextest,shellcheck,shfmt,wasm-pack,mdbook,cargo-binstall,grcov,watchexec-cli,cargo-tarpaulin
runs-on: ubuntu-latest
timeout-minutes: 60
diff --git a/README.md b/README.md
index 69c1db53c..df8e4548d 100644
--- a/README.md
+++ b/README.md
@@ -103,6 +103,7 @@ https://spdx.org/licenses
| [**valgrind**](https://valgrind.org) | `/snap/bin` | [snap](https://snapcraft.io/install/valgrind/ubuntu) | Linux | [GPL-2.0-or-later](https://valgrind.org/docs/manual/license.gpl.html) |
| [**wasm-pack**](https://github.com/rustwasm/wasm-pack) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/rustwasm/wasm-pack/releases) | Linux, macOS, Windows | [Apache-2.0](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-APACHE) OR [MIT](https://github.com/rustwasm/wasm-pack/blob/HEAD/LICENSE-MIT) |
| [**wasmtime**](https://github.com/bytecodealliance/wasmtime) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/bytecodealliance/wasmtime/releases) | Linux, macOS, Windows | [Apache-2.0 WITH LLVM-exception](https://github.com/bytecodealliance/wasmtime/blob/HEAD/LICENSE) |
+| [**zola**](https://github.com/getzola/zola) | `$CARGO_HOME/bin` | [GitHub Releases](https://github.com/getzola/zola/releases) | Linux, macOS, Windows | [MIT](https://github.com/getzola/zola/blob/master/LICENSE) |
If `$CARGO_HOME/bin` is not available, Rust-related binaries will be installed to `$HOME/.cargo/bin`.
If `$HOME/.cargo/bin` is not available, Rust-related binaries will be installed to `/usr/local/bin`.
diff --git a/manifests/zola.json b/manifests/zola.json
new file mode 100644
index 000000000..d2ed6b1d9
--- /dev/null
+++ b/manifests/zola.json
@@ -0,0 +1,283 @@
+{
+ "template": {
+ "x86_64_linux_gnu": {
+ "url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-unknown-linux-gnu.tar.gz"
+ },
+ "x86_64_macos": {
+ "url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-apple-darwin.tar.gz"
+ },
+ "x86_64_windows": {
+ "url": "https://github.com/getzola/zola/releases/download/v${version}/zola-v${version}-x86_64-pc-windows-msvc.zip"
+ }
+ },
+ "latest": {
+ "version": "0.16.1"
+ },
+ "0.16": {
+ "version": "0.16.1"
+ },
+ "0.16.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "a8a4205b7fdd817d9866d1a4b4b8d53c206177bd7e95b37e35cb5f830b0e6234"
+ },
+ "x86_64_macos": {
+ "checksum": "cb14676dfbfbf3252315196515ab386a63d3a336b18bdcc632d8e31c0a4c791b"
+ },
+ "x86_64_windows": {
+ "checksum": "b19b8317a9a0d53339df8a5d910af0682abad5c65f593d58fcc35c6d00ab8732"
+ }
+ },
+ "0.16.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "88cde8f1edfe609a9ae8a7a95226d3ae9bb62279c5c5254d9f5984ab843529a1"
+ },
+ "x86_64_macos": {
+ "checksum": "e31e0fcce6da8777b8a3c2475d55fa98c513224dabefb4274da2cd0094f441fc"
+ },
+ "x86_64_windows": {
+ "checksum": "38a6b2ddeac3c32aff948ad4b07d7479d89115dce3f07adde6d5a53844f23c95"
+ }
+ },
+ "0.15": {
+ "version": "0.15.3"
+ },
+ "0.15.3": {
+ "x86_64_linux_gnu": {
+ "checksum": "7952bf166f29caeec595a299d94bc7da6ad5ba9ae71ea8bae142e2322faf821d"
+ },
+ "x86_64_macos": {
+ "checksum": "3a8a9b137b87fdee546ab5f12c9eb7b2e33a554349c95c4a9ae4c1599e06538f"
+ },
+ "x86_64_windows": {
+ "checksum": "d806e1e2e954369f350b6de9d755374fb57f8e820bf8e8df18e6c2db9daf9443"
+ }
+ },
+ "0.15.2": {
+ "x86_64_linux_gnu": {
+ "checksum": "d067e8261f0a9121ea0388616f74fcba4b1ed87df8ea78ca20a577424c15fa20"
+ },
+ "x86_64_macos": {
+ "checksum": "e39c94158bb8f0dd0af3c1fcf1b52845a49ed6ab87721f2dd3bf0ba05294327a"
+ },
+ "x86_64_windows": {
+ "checksum": "c265ac94c33caf89d900963994568440e200a0620e4d6a1092fc35a1fca17b33"
+ }
+ },
+ "0.15.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "57c69a4f651567a9507b73ced6ec3c04f3ec20487877657502a04be93748f204"
+ },
+ "x86_64_macos": {
+ "checksum": "847a24fe21676aa4ded670dd6850444792bd98d4713677067c472450a72b3d9c"
+ },
+ "x86_64_windows": {
+ "checksum": "3da07da833704265e5751435fbafc64eb58326f3b9069f4bc1fed9dfb75f7226"
+ }
+ },
+ "0.15.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "901a330100d5f265c7a00821bef564dd7353b2b0884b80996ba4592b635a7ad3"
+ },
+ "x86_64_macos": {
+ "checksum": "8461c39034c2606a9a7b65f6f1c964f322707d262ec83fd271cb468ae71389f9"
+ },
+ "x86_64_windows": {
+ "checksum": "eb248641acdb341d457c9a3d2560c7877f9d528a061582fa9636a69dea9d9dac"
+ }
+ },
+ "0.14": {
+ "version": "0.14.1"
+ },
+ "0.14.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "4223f57d9b60ad7217c44a815fa975b2229f692b7ef3de4b7ce61f1634e8dc33"
+ },
+ "x86_64_macos": {
+ "checksum": "754d5e1b4ca67a13c6cb4741dbff5b248075f4f4a0353d6673aa4f5afb7ec0bf"
+ },
+ "x86_64_windows": {
+ "checksum": "62bf50a6e2b606faf80cdf9112deca945fe89f67863fb06f793c27a26c968a91"
+ }
+ },
+ "0.14.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "4b68ec636b858178095873c038f21d24640220295f70b7a9f2e82109aa451926"
+ },
+ "x86_64_macos": {
+ "checksum": "23b91e138ca6d16ad7560ca2d13dcf80ecdf382bed1548297791f4920bfc10c4"
+ },
+ "x86_64_windows": {
+ "checksum": "fad6516c9b9ecf294d047dd24195f521a8ece662249bc937f380fa154a30a43d"
+ }
+ },
+ "0.13": {
+ "version": "0.13.0"
+ },
+ "0.13.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "1a919e00cce61e30c31cd8d0979349ecd3f7c1666d32fa77314cbfbb89447adb"
+ },
+ "x86_64_macos": {
+ "checksum": "2b3f5f2d7b2368ba128344170e5ca0dc0e1e46f322baf1048d3e206c35258975"
+ },
+ "x86_64_windows": {
+ "checksum": "7e603c8b0da95a4f01f833d7d4664209b4ec3ad72fca5e59be99020f99086c12"
+ }
+ },
+ "0.12": {
+ "version": "0.12.2"
+ },
+ "0.12.2": {
+ "x86_64_linux_gnu": {
+ "checksum": "572e34c4c2b874f9704fb8512abea84532623f7567996bac456291a21c1b2595"
+ },
+ "x86_64_macos": {
+ "checksum": "f9e2018c5f4989ee38055c9c876438f83988e574e8acfe68780e13a1b466713a"
+ },
+ "x86_64_windows": {
+ "checksum": "b6d731a9abd2364bcf1d4e0d5390c3dbf4ac8044bf06df124806420115e2d74b"
+ }
+ },
+ "0.12.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "fdca646be87e05213b7306d04247c4226c1d514aee96ef390935545aee84a074"
+ },
+ "x86_64_macos": {
+ "checksum": "095d6844af1fcda969ec656d44b0b21c2952472319c12285630883ce73633ca8"
+ },
+ "x86_64_windows": {
+ "checksum": "370871760201d29c7fd4f492b716dbf501aed9ba1992c282f3eedf672443b548"
+ }
+ },
+ "0.12.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "c955228d468b9233bd66417b0f39c078f510f8adf1a6138bbe7e80423198224b"
+ },
+ "x86_64_macos": {
+ "checksum": "5c1d6dc3978970f33beea3ac252a9303ca5d179fce988de4e55a4cb99ee74237"
+ },
+ "x86_64_windows": {
+ "checksum": "ea07d70d62f573cf51f8f5ba89c9fab0cff15f2cbdd5e39d897f6ee3d9855897"
+ }
+ },
+ "0.11": {
+ "version": "0.11.0"
+ },
+ "0.11.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "8afe40edff5e995afdc132e02442d24eb633ef4b6e81913d69cf97f17905b9c3"
+ },
+ "x86_64_macos": {
+ "checksum": "346d14a914de0d33adc25e7fb70abc02aca9e2cf808283538d4bb5b3cebfcb56"
+ },
+ "x86_64_windows": {
+ "checksum": "d95ed0d652e8ce2d904eaafc369c796bea9b593d5808e10b033e14edea93534a"
+ }
+ },
+ "0.10": {
+ "version": "0.10.1"
+ },
+ "0.10.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "7bce21ad56d0cab213b5b9188076b93d9d130b9b046cd118305dc2b9b43b84b8"
+ },
+ "x86_64_macos": {
+ "checksum": "b1a5583421bb370a2e345ebef9a549fe44d58aecfbb67b1e619f5dd6990fcd44"
+ },
+ "x86_64_windows": {
+ "checksum": "459f358b4210a8d53a440f957a4c69b12c663dd4c4939c02d0d91ebc685ade2a"
+ }
+ },
+ "0.10.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "5ae166ff105359c87f3d6c57ef6f1a3dd14b266b68dc8059dee88f8916818d6c"
+ },
+ "x86_64_macos": {
+ "checksum": "aeabf5b6477fa2884d21e6c6ccf30269ac98c33680510752786876dac0e85ed0"
+ },
+ "x86_64_windows": {
+ "checksum": "bff5de453883a429cef8ea4823f8dccead21d97f38a287841a073c7c97a2fefb"
+ }
+ },
+ "0.9": {
+ "version": "0.9.0"
+ },
+ "0.9.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "c06b5406fd6cddf346fac448e95780e5b161f3d560a7df86a202d7f6c20d3f72"
+ },
+ "x86_64_macos": {
+ "checksum": "e961f3cde3a9b995dc0227fb7de8c01a4c6618cdd196e2622f3ba1e7c8370035"
+ },
+ "x86_64_windows": {
+ "checksum": "1a69861f6602579ac0391e63cdd14f143b1f1e373b34ca8a3a4bd98c22151df5"
+ }
+ },
+ "0.8": {
+ "version": "0.8.0"
+ },
+ "0.8.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "bcdb334b47c34b0b35ffbba8400ca29df0d85377020c6468d2657a74dbef117e"
+ },
+ "x86_64_macos": {
+ "checksum": "1afb06d2187c039c750821cb2bc682af97f71ff3d7853e00b8298a54b7a695bd"
+ },
+ "x86_64_windows": {
+ "checksum": "71563aefdc28d6094891d9d2860f8dfe6e4685581b4bf7216342b84e07648a07"
+ }
+ },
+ "0.7": {
+ "version": "0.7.0"
+ },
+ "0.7.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "fd9bb11a80a4246bc3415d2ce7e09029f4b1a609f89ba82d23d61971f54d1c2d"
+ },
+ "x86_64_macos": {
+ "checksum": "becbb39f28e65af72186ba11d476dcaf4ab22153ce7c4f267278dc3958575850"
+ },
+ "x86_64_windows": {
+ "checksum": "173da6285aa9e2fedc4fe7a64c0c930f5306d8a95ff31625a71659ddfd3c819f"
+ }
+ },
+ "0.6": {
+ "version": "0.6.0"
+ },
+ "0.6.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "7f8837cd354aa16a334d3877fe0dfb6e0d063e5a268f6e6c21422f4ce6566ec5"
+ },
+ "x86_64_macos": {
+ "checksum": "57ddf70519f69f3d7bfa6761aa416154d1b5afc14444c25d516d3f82519dcf52"
+ },
+ "x86_64_windows": {
+ "checksum": "7312197b8dc6f6c6b5413e3dbccf5cb8a3061e5da3b1451ff17980c59a972601"
+ }
+ },
+ "0.5": {
+ "version": "0.5.1"
+ },
+ "0.5.1": {
+ "x86_64_linux_gnu": {
+ "checksum": "f0c6a433f217d123da7d89b744c0cdf277a3ef5c3973f424c784f33a74c535a9"
+ },
+ "x86_64_macos": {
+ "checksum": "a945d371fd5266ae1b50e9abc9837df780d94c2f5262f1cccfa381ae833a011e"
+ },
+ "x86_64_windows": {
+ "checksum": "9f36cdd62bec6e16a7dd0bfaf89addc9362bd9280e26971f45b8c141ecf195f9"
+ }
+ },
+ "0.5.0": {
+ "x86_64_linux_gnu": {
+ "checksum": "f7ab37b542461357862b6e91459a211a8cbeb872f84c6de227076e3d6db7eff7"
+ },
+ "x86_64_macos": {
+ "checksum": "86ce9babce8c7398c00c21383eda59895ede6be5e7ab688cfef6b5a11050fcc8"
+ },
+ "x86_64_windows": {
+ "checksum": "492ccea9c52cf8026352488b6064b02ca91ae93a9e70f34d09928868b2f0f011"
+ }
+ }
+}
diff --git a/tools/codegen/base/zola.json b/tools/codegen/base/zola.json
new file mode 100644
index 000000000..43fd59267
--- /dev/null
+++ b/tools/codegen/base/zola.json
@@ -0,0 +1,12 @@
+{
+ "repository": "https://github.com/getzola/zola",
+ "tag_prefix": "v",
+ "asset_name": "${package}-v${version}-${rust_target}.tar.gz",
+ "platform": {
+ "x86_64_linux_gnu": {},
+ "x86_64_macos": {},
+ "x86_64_windows": {
+ "asset_name": "${package}-v${version}-${rust_target}.zip"
+ }
+ }
+}