Skip to content

kite 0.1.7

Choose a tag to compare

@github-actions github-actions released this 01 Oct 15:52
· 40 commits to main since this release

A release that pins the Kite a site builds with: kite.lock names the release, and kitew, written beside it, downloads that release, checks it and runs it, so the author's machine and the deploy build every commit with the same Kite.

Highlights

  • kitew. ./kitew build, or kitew.ps1 on Windows, runs the Kite release kite.lock pins. The first time on a machine it downloads the release from GitHub, checks the archive against the release's checksums.txt and that list against the sha256 kite.lock records for it, and keeps the binary in the user's cache. A release whose files no longer match the pin is refused rather than run. KITE_DOWNLOAD_URL names a mirror.
  • New sites are pinned. kite init, and the setup kite run opens in a browser, write kitew and kitew.ps1 and pin the release that ran them. The deploy workflow they write builds with sh ./kitew build instead of installing Go and compiling Kite on every deploy: faster, and the same bytes the author previewed with.
  • Moving the pin. kite wrapper pins the running Kite, or the release --version names. When the Kite you run is not the one pinned, kite build, kite serve and kite doctor say so, and System → Deploy in the studio shows which release builds the site and offers to build with the one running. Nothing changes until you say so.
  • Cloudflare Pages. The reference describes building a site there with sh kitew build.

Fixes

  • kite.lock is published now. An install from the index wrote it, but neither the studio's publish nor kite publish --all committed it, so a clone could not tell where its themes and plugins came from.
  • The container image builds the studio and the binary on the build machine's own platform. The arm64 image built them under emulation, where pnpm install could hang, as it did for 0.1.5 and 0.1.6.

Install

Download the archive for your system below, unpack it, put kite somewhere on your PATH, and run kite run in an empty folder. On macOS, xattr -d com.apple.quarantine kite lets a downloaded program run the first time.

To run a site on a server with Docker:

docker run -d --name kite --restart unless-stopped -p 127.0.0.1:1717:1717 -v kite-data:/data ghcr.io/kite-plus/kite:0.1.7

Every archive can be checked against checksums.txt, and a given commit builds to the same binary on any machine.

Upgrading from 0.1.6

Replace the binary, or pull the new image.

  • A site made before 0.1.7 pins nothing, and its deploy workflow keeps installing the Kite it names. To pin it, run kite wrapper in the site, commit kitew, kitew.ps1 and kite.lock, and change the workflow's build step from kite build to sh ./kitew build, removing the steps that install Go and Kite. kite doctor lists what is left to do.
  • kite.lock now shows among what Kite publishes; if an earlier install from the index left it uncommitted, publish it once.

Notes

Kite is in early development. The reference covers kitew, kite wrapper and Cloudflare Pages. Builds that skip what has not changed are the rest of M6.

Every change in this release

Changelog

Features

Fixes

Documentation

Install

Download the archive for your platform, or pin the version in a project
so that local builds and CI agree:

./kitew build

Verify a download against checksums.txt before running it.