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 (dragoon/komodo!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 (dragoon/komodo!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.