fix: nu
This commit is contained in:
50
.github/actions/setup-shell-tools/action.yml
vendored
Normal file
50
.github/actions/setup-shell-tools/action.yml
vendored
Normal 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
|
||||||
54
.github/workflows/ci.yml
vendored
54
.github/workflows/ci.yml
vendored
@@ -17,30 +17,23 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Shell Tools
|
||||||
|
uses: ./.github/actions/setup-shell-tools
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: oven-sh/setup-bun@v2
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: '1.2.20'
|
bun-version: '1.2.20'
|
||||||
|
|
||||||
- name: Setup Nushell
|
- name: Cache dependencies
|
||||||
run: |
|
uses: actions/cache@v4
|
||||||
# Install Nushell following official docs
|
with:
|
||||||
curl -s https://api.github.com/repos/nushell/nushell/releases/latest \
|
path: |
|
||||||
| grep "browser_download_url.*x86_64-unknown-linux-gnu" \
|
~/.bun/install/cache
|
||||||
| cut -d : -f 2,3 \
|
node_modules
|
||||||
| tr -d \" \
|
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||||
| wget -qi -
|
restore-keys: |
|
||||||
tar xf nu-*-x86_64-unknown-linux-gnu.tar.gz
|
${{ runner.os }}-bun-
|
||||||
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
|
- name: Install dependencies
|
||||||
run: just install
|
run: just install
|
||||||
@@ -61,31 +54,14 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Shell Tools
|
||||||
|
uses: ./.github/actions/setup-shell-tools
|
||||||
|
|
||||||
- name: Setup Bun
|
- name: Setup Bun
|
||||||
uses: oven-sh/setup-bun@v2
|
uses: oven-sh/setup-bun@v2
|
||||||
with:
|
with:
|
||||||
bun-version: '1.2.20'
|
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
|
- name: Install dependencies
|
||||||
run: just install
|
run: just install
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user