mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-02 07:07:46 +00:00
Merge pull request #90 from fdncred/update_get_latest_linux
updated to follow redirects as in 0.36.0
This commit is contained in:
commit
161bd55c99
1 changed files with 6 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
# A small script to auto-update nushell in linux
|
# A small script to auto-update nushell in linux
|
||||||
# WIP - Not finished yet
|
# requires nushell 0.36.0 or greater
|
||||||
def get-latest [] {
|
def get-latest-linux [] {
|
||||||
# fetch the information about the latest release
|
# fetch the information about the latest release
|
||||||
let metadata = (fetch https://api.github.com/repos/nushell/nushell/releases/latest)
|
let metadata = (fetch https://api.github.com/repos/nushell/nushell/releases/latest)
|
||||||
let release_name = ($metadata | get name | split row ' ' | nth 0)
|
let release_name = ($metadata | get name | split row ' ' | nth 0)
|
||||||
|
@ -13,15 +13,11 @@ def get-latest [] {
|
||||||
let file_name = ($asset_info | get name)
|
let file_name = ($asset_info | get name)
|
||||||
# tell you what i'm doing
|
# tell you what i'm doing
|
||||||
$"Release name is ($release_name)(char newline)(char newline)"
|
$"Release name is ($release_name)(char newline)(char newline)"
|
||||||
$"($body)(char newline)(char newline)Downloading..."
|
$"($body)(char newline)(char newline)Downloading and following redirects ..."
|
||||||
# fetch doesn't appear to follow redirects so get the actual download url
|
# fetch follows redirects now
|
||||||
let redirected_url = (fetch $download_url --raw)
|
fetch $download_url | save $file_name
|
||||||
# pull the download url out with xpath, thank you!
|
|
||||||
let real_download_url = ($redirected_url | xpath '//@href' | get '//@href')
|
|
||||||
# now do the real download of the archive
|
|
||||||
fetch $real_download_url | save $file_name
|
|
||||||
# tell you what i'm doing
|
# tell you what i'm doing
|
||||||
$"Extracting ($file_name) to /tmp(char newline)"
|
$"(char newline)Extracting ($file_name) to /tmp(char newline)"
|
||||||
# extract the tar file to the temp folder
|
# extract the tar file to the temp folder
|
||||||
tar -xf ($file_name) -C /tmp
|
tar -xf ($file_name) -C /tmp
|
||||||
# parse the $file_name to get the folder
|
# parse the $file_name to get the folder
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue