Skip to content
Snippets Groups Projects
Forked from Dragoon / Komodo
Source project has a limited visibility.
  • STEVAN Antoine's avatar
    5511404f
    refactor CI and Makefile for Nushell installation (!192) · 5511404f
    STEVAN Antoine authored
    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`
    5511404f
    History
    refactor CI and Makefile for Nushell installation (!192)
    STEVAN Antoine authored
    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`
Code owners
Assign users and groups as approvers for specific file changes. Learn more.