From 73c9adf90894bd35cdc499404c0a3be0a7d9a028 Mon Sep 17 00:00:00 2001 From: Slug-Boi Date: Sun, 1 Dec 2024 20:52:20 +0100 Subject: [PATCH] chore: more work on install scripts --- installer/install.go | 13 ++++++------- installer/install.ps1 | 8 ++++++++ installer/install.sh | 30 ++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 installer/install.ps1 create mode 100755 installer/install.sh diff --git a/installer/install.go b/installer/install.go index ba6dd31..72770cb 100644 --- a/installer/install.go +++ b/installer/install.go @@ -24,7 +24,8 @@ func main() { if err != nil { download() } else { - update() + download() + //update() } } @@ -40,26 +41,24 @@ func download() { var cmd *exec.Cmd // Download the latest release + filename := "cocommit.tar.gz" switch runtime.GOOS { case "darwin": fmt.Println("Downloading mac version") - filename := "" if runtime.GOARCH == "amd64" { resp, err = http.Get("https://github.com/Slug-Boi/cocommit/releases/latest/download/cocommit-darwin-x86_64.tar.gz") - filename = "cocommit-darwin-x86_64.tar.gz" } else { resp, err = http.Get("https://github.com/Slug-Boi/cocommit/releases/latest/download/cocommit-darwin-aarch64.tar.gz") - filename = "cocommit-darwin-aarch64.tar.gz" } cmd = exec.Command("tar", "-xvf", filename) case "windows": fmt.Println("Downloading windows version") resp, err = http.Get("https://github.com/Slug-Boi/cocommit/releases/latest/download/cocommit-win.tar.gz") - cmd = exec.Command("tar", "-xvf", "cocommit-win.tar.gz") + cmd = exec.Command("tar", "-xvf", filename) default: fmt.Println("Downloading linux version") resp, err = http.Get("https://github.com/Slug-Boi/cocommit/releases/latest/download/cocommit-linux.tar.gz") - cmd = exec.Command("tar", "-xvf", "cocommit-linux.tar.gz") + cmd = exec.Command("tar", "-xvf", filename) } if err != nil { fmt.Println("Error downloading file") @@ -83,7 +82,7 @@ func download() { // Extract the file err = cmd.Run() if err != nil { - fmt.Println("Error extracting file") + panic("Error extracting file") } regExp := regexp.MustCompile("cocommit-.+") diff --git a/installer/install.ps1 b/installer/install.ps1 new file mode 100644 index 0000000..690b911 --- /dev/null +++ b/installer/install.ps1 @@ -0,0 +1,8 @@ +$binaryUrl = "https://github.com/Slug-Boi/cocommit/blob/main/installer/bin/install-win" +$outputPath = "install-win.exe" + +# Download the binary +Invoke-WebRequest -Uri $binaryUrl -OutFile $outputPath + +# Run the binary +& .\$outputPath \ No newline at end of file diff --git a/installer/install.sh b/installer/install.sh new file mode 100755 index 0000000..773e15c --- /dev/null +++ b/installer/install.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Determine the OS and architecture +OS=$(uname -s) +ARCH=$(uname -m) + +file="" + +url="https://github.com/Slug-Boi/cocommit/raw/refs/heads/chore_install_script/installer/bin/" + +# Set the download URL based on the OS and architecture +if [ "$OS" == "Linux" ]; then + URL="${url}install-linux" + file="install-linux" +elif [ "$OS" == "Darwin" ]; then + if [ "$ARCH" == "x86_64" ]; then + URL="${url}install-darwin-x86_64" + file="install-darwin-x86_64" + else + URL="${url}install-darwin-aarch64" + file="install-darwin-aarch64" + fi +else + echo "Unsupported OS: $OS" + exit 1 +fi + +# Download and run the script + +echo $file +curl -LJO $URL && chmod +x $file && ./$file