Update `just` version

It seems like it’s undocumented, but just is available in build images (which is great!). But, it’s an oldish version: 1.16.0 (build logs).

That was a fun surprised when I updated my justfile locally, verified it worked, pushed, and the build failed. It turns out I was using newer features than what was available in the build image.

So my request is twofold:

  1. Document just’s availability and version in the docs
  2. Consider updating the version. The feature I was looking for is on 1.23.0, but you could also jump to the latest release.

thank you!

Build Image Noble has mise installed, so you can just set your build command to mise use -g just && just --version. Seems to work in my test:

7:16:44 PM: $ mise use -g just && just --version
7:16:44 PM: mise just@1.38.0     install
7:16:44 PM: mise Installed binary into /opt/buildhome/.local/share/mise/installs/just/1.38.0/bin/just
7:16:44 PM: mise just@1.38.0   ✓ installed
7:16:44 PM: mise ~/.config/mise/config.toml tools: just@1.38.0
7:16:44 PM: just 1.38.0

Awesome, that worked! Thanks for the pointer.

Given you already have mise available, it would be great if it were easier to customize the build environment. For instance, honoring a mise.toml in my root directory, which would make it easy to add additional dependencies / language versions.

As it is, if I needed to add further tools, my build command being mise use -g abc && mise use -g def && ... && just build would get unwieldy quickly.

Actually, I spoke too soon. Looks like it does install just@1.38.0, but just doesn’t use it (and the build fails; logs)

12:16:50 AM: $ mise use -g just@latest && just --version && just build
12:16:50 AM: mise just@1.38.0     install
12:16:50 AM: mise Installed binary into /opt/buildhome/.local/share/mise/installs/just/1.38.0/bin/just
12:16:50 AM: mise just@1.38.0   ✓ installed
12:16:50 AM: mise ~/.config/mise/config.toml tools: just@1.38.0
12:16:50 AM: just 1.16.0
12:16:50 AM: error: Unknown setting `quiet`
12:16:50 AM:   |
12:16:50 AM: 1 | set quiet
12:16:50 AM:   |     ^^^^^

I’m not sure why my logs are different from yours, since your approach seems like it would work.

Weirdly, trying the same build again with a cleared cache worked: Netlify

Will I have to clear the cache every time I update my required just version? Cause that does really just make me want a better way to manage this :sweat_smile:

Mise allows you to install multiple tools together:

mise use -g abc def ghi

As for the caching, I believe it’s because the mise install directory is not cached by Netlify by default. You can manually cache and restore all that you want using plugins: Create Build Plugins | Netlify Docs