fix: nu
Some checks failed
CI / docker-build (push) Has been cancelled
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled

This commit is contained in:
2025-08-14 14:56:58 +02:00
parent 2c52fa7b77
commit 310738c82d
2 changed files with 65 additions and 39 deletions

View File

@@ -0,0 +1,50 @@
name: 'Setup Shell Tools'
description: 'Sets up Nushell and Just for cross-platform development'
branding:
icon: 'terminal'
color: 'purple'
outputs:
nu-version:
description: 'Installed Nushell version'
value: ${{ steps.nu-info.outputs.version }}
just-version:
description: 'Installed Just version'
value: ${{ steps.just-info.outputs.version }}
runs:
using: 'composite'
steps:
- name: Setup Nushell
run: |
# Install Nushell following official docs
curl -s https://api.github.com/repos/nushell/nushell/releases/latest \
| grep "browser_download_url.*x86_64-unknown-linux-gnu" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
tar xf nu-*-x86_64-unknown-linux-gnu.tar.gz
sudo mkdir -p /usr/local/bin
sudo cp nu-*/nu /usr/local/bin/
sudo chmod +x /usr/local/bin/nu
echo "/usr/local/bin" >> $GITHUB_PATH
# Add to current PATH for immediate use
export PATH="/usr/local/bin:$PATH"
# Verify installation and set as default shell
nu --version
echo "SHELL=/usr/local/bin/nu" >> $GITHUB_ENV
shell: bash
- name: Get Nushell version
id: nu-info
run: echo "version=$(/usr/local/bin/nu --version | head -n1)" >> $GITHUB_OUTPUT
shell: bash
- name: Setup Just
uses: extractions/setup-just@v2
shell: bash
- name: Get Just version
id: just-info
run: echo "version=$(just --version)" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -17,30 +17,23 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Shell Tools
uses: ./.github/actions/setup-shell-tools
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: '1.2.20'
- name: Setup Nushell
run: |
# Install Nushell following official docs
curl -s https://api.github.com/repos/nushell/nushell/releases/latest \
| grep "browser_download_url.*x86_64-unknown-linux-gnu" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
tar xf nu-*-x86_64-unknown-linux-gnu.tar.gz
sudo mkdir -p /usr/local/bin
sudo cp nu-*/nu /usr/local/bin/
sudo chmod +x /usr/local/bin/nu
echo "/usr/local/bin" >> $GITHUB_PATH
# Verify installation and set as default shell
/usr/local/bin/nu --version
echo "SHELL=/usr/local/bin/nu" >> $GITHUB_ENV
- name: Setup Just
uses: extractions/setup-just@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-
- name: Install dependencies
run: just install
@@ -61,31 +54,14 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Shell Tools
uses: ./.github/actions/setup-shell-tools
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: '1.2.20'
- name: Setup Nushell
run: |
# Install Nushell following official docs
curl -s https://api.github.com/repos/nushell/nushell/releases/latest \
| grep "browser_download_url.*x86_64-unknown-linux-gnu" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
tar xf nu-*-x86_64-unknown-linux-gnu.tar.gz
sudo mkdir -p /usr/local/bin
sudo cp nu-*/nu /usr/local/bin/
sudo chmod +x /usr/local/bin/nu
echo "/usr/local/bin" >> $GITHUB_PATH
# Verify installation and set as default shell
/usr/local/bin/nu --version
echo "SHELL=/usr/local/bin/nu" >> $GITHUB_ENV
- name: Setup Just
uses: extractions/setup-just@v2
- name: Install dependencies
run: just install