Skip to content

refactor CI and Makefile for Nushell installation

the idea is to make the installation of Nushell easier to maintain, especially regarding versions, currently pinned to 0.95.0

successful run on GitHub: 13032726635

this is also to allow easier testing locally with the same Nushell version as in the CI, e.g.

# install in `~/.local/bin/` and have multiple versions
make install-nu

hash=$(/tmp/nu --no-config-file --commands 'version | get commit_hash')
nu_bin=$"$HOME/.local/bin/nu-$hash"
cp /tmp/nu $nu_bin

make NU=$nu_bin show test

or

# install in the repo and overwrite each time
make NU_DEST=. install-nu
make NU=./nu show test

changelog

  • Makefile
    • split the global .PHONY rule into atomic rules next to each phony rule
    • define NU and NU_FLAGS to allow changing which and how Nushell runs
    • define NU_ARCH, NU_VERSION, NU_BUILD and NU_DEST for Nushell installation
    • tweak the output of make show a bit
    • add print-% rules to print Makefile variables, e.g. make print-NU_FLAGS would print --no-config-file
    • add make install-nu to replace the ones from the CIs
  • GitLab CI
    • use make install-nu
    • export PATH with make print-NU_DEST
  • GitHub CI
Edited by STEVAN Antoine

Merge request reports

Loading