Skip to content

refactor CI and Makefile for Nushell installation

STEVAN Antoine requested to merge refactor-ci-and-makefile into main

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