Skip to content
Snippets Groups Projects
Commit 5511404f authored by STEVAN Antoine's avatar STEVAN Antoine 🦀
Browse files

refactor CI and Makefile for Nushell installation (!192)

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](https://github.com/dragoon-rs/komodo/actions/runs/13032726635)

this is also to allow easier testing locally with the same Nushell version as in the CI, e.g.
```bash
# 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
```bash
# 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 
  - use `make install-nu` instead of [github.com:hustcer/setup-nu](https://github.com/hustcer/setup-nu)
  - export `PATH` with `make print-NU_DEST` and `GITHUB_ENV`
parent cc412625
No related branches found
No related tags found
1 merge request!192refactor CI and Makefile for Nushell installation
Pipeline #7486 passed