diff --git a/README.md b/README.md index 0f4e02d..4301819 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,8 @@ - [Install](#install) - [Features](#features) - [Usage](#usage) +- [Support](#support) - [Development](#development) -- [Support](#Support) - [Contributing](#contributing) CLI to Install a GitHub Release. @@ -202,6 +202,20 @@ ir config [![View Documentation](https://img.shields.io/badge/view_documentation-blue?style=for-the-badge&logo=quicklook)](https://smashedr.github.io/install-release/) +## Support + +If you run into any issues or need help getting started, please do one of the following: + +- Report an Issue: +- Q&A Discussion: +- Request a Feature: +- Chat with us on Discord: + +[![Features](https://img.shields.io/badge/features-brightgreen?style=for-the-badge&logo=rocket&logoColor=white)](https://github.com/smashedr/install-release/issues/new?template=1-feature.yaml) +[![Issues](https://img.shields.io/badge/issues-red?style=for-the-badge&logo=southwestairlines&logoColor=white)](https://github.com/smashedr/install-release/issues) +[![Discussions](https://img.shields.io/badge/discussions-blue?style=for-the-badge&logo=livechat&logoColor=white)](https://github.com/smashedr/install-release/discussions) +[![Discord](https://img.shields.io/badge/discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/wXy6m2X8wY) + # Development Go: @@ -229,20 +243,6 @@ Inno Setup: task inno ``` -# Support - -If you run into any issues or need help getting started, please do one of the following: - -- Report an Issue: -- Q&A Discussion: -- Request a Feature: -- Chat with us on Discord: - -[![Features](https://img.shields.io/badge/features-brightgreen?style=for-the-badge&logo=rocket&logoColor=white)](https://github.com/smashedr/install-release/issues/new?template=1-feature.yaml) -[![Issues](https://img.shields.io/badge/issues-red?style=for-the-badge&logo=southwestairlines&logoColor=white)](https://github.com/smashedr/install-release/issues) -[![Discussions](https://img.shields.io/badge/discussions-blue?style=for-the-badge&logo=livechat&logoColor=white)](https://github.com/smashedr/install-release/discussions) -[![Discord](https://img.shields.io/badge/discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/wXy6m2X8wY) - # Contributing If you would like to submit a PR, please review the [CONTRIBUTING.md](#contributing-ov-file). diff --git a/cmd/install.go b/cmd/install.go index 4250012..6fa1652 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -19,6 +19,7 @@ import ( "net/http" "net/url" "os" + "path" "path/filepath" "runtime" "strings" @@ -44,92 +45,19 @@ func runInstall(cmd *cobra.Command, args []string) error { // NOSONAR skipPrompts := viper.GetBool("yes") assetName := viper.GetString("asset") destName := viper.GetString("name") + assetUrl := viper.GetString("url") preRelease, _ := cmd.Flags().GetBool("pre") - log.Info("Flags:", "skipPrompts", skipPrompts, "assetName", assetName, "destName", destName, "preRelease", preRelease) + log.Info("Flags:", "skipPrompts", skipPrompts, "assetName", assetName, "destName", destName, "preRelease", preRelease, "assetUrl", assetUrl) - if len(args) < 1 { - _ = cmd.Help() - return fmt.Errorf("repository must be in format: owner/repo") - } - - repo, err := parseRepository(args) - if err != nil { - log.Debugf("parseRepository err: %v", err) - _ = cmd.Help() - return err - } - log.Info("Repository", "repo", repo) - - log.Info("runtime", "GOOS", runtime.GOOS, "GOARCH", runtime.GOARCH) - - tagDisplay := repo.Tag - if repo.Tag == "" { - if preRelease { - tagDisplay = "pre-release" - } else { - tagDisplay = "latest" - } - } - styles.PrintKV("Repository", fmt.Sprintf("%s/%s:%s", repo.Owner, repo.Name, tagDisplay)) - - client := getClient() - - release, err := getRelease(client, repo, preRelease, skipPrompts) - if err != nil { - return fmt.Errorf("get release error: %w", err) - } - if release == nil { - return fmt.Errorf("no release found") - } - if verbose >= 3 { - log.Debugf("release: %v", release) - } - - //styles.PrintKV("Version", fmt.Sprintf("%s (%s)", release.GetTagName(), release.GetName())) - renderReleaseTable(release) - - // Asset - var asset *github.ReleaseAsset - var result int + var rc io.ReadCloser + var rcName string + var err error - if assetName != "" { - result = findAssetByName(release.Assets, assetName) + if assetUrl != "" { + rc, rcName, err = downloadAssetURL(assetUrl) } else { - result = findAssetByPlatform(release.Assets, runtime.GOOS, runtime.GOARCH) + rc, rcName, err = processRepository(cmd, args, preRelease, skipPrompts, assetName) } - log.Debugf("result: %v", result) - - if result < 0 || !skipPrompts { - options := make([]huh.Option[int], len(release.Assets)) - for i, asset := range release.Assets { - options[i] = huh.NewOption(asset.GetName(), i) - } - form := huh.NewSelect[int](). - Title("Select a release asset:"). - Options(options...). - Value(&result) - - err = form.Run() - if err != nil { - return fmt.Errorf("prompt failed: %w", err) - } - } - - log.Debugf("result: %v", result) - asset = release.Assets[result] - log.Debugf("asset: %v", asset) - - if asset == nil { - return fmt.Errorf("no asset selected") - } - - log.Infof("id: %v", asset.GetID()) - log.Infof("url: %v", asset.GetBrowserDownloadURL()) - styles.PrintKV("Asset Name", asset.GetName()) - - rc, _, err := client.Repositories.DownloadReleaseAsset( - context.Background(), repo.Owner, repo.Name, asset.GetID(), http.DefaultClient, - ) if err != nil { return err } @@ -189,7 +117,7 @@ func runInstall(cmd *cobra.Command, args []string) error { // NOSONAR binaryFilePath = tmpFile.Name() log.Debugf("2 binaryFilePath: %v", binaryFilePath) if destName == "" { - destName = asset.GetName() + destName = rcName } } log.Infof("binaryFilePath: %v", binaryFilePath) @@ -266,6 +194,110 @@ func runInstall(cmd *cobra.Command, args []string) error { // NOSONAR return nil } +func processRepository(cmd *cobra.Command, args []string, preRelease bool, skipPrompts bool, assetName string) (io.ReadCloser, string, error) { // NOSONAR + if len(args) < 1 { + _ = cmd.Help() + return nil, "", fmt.Errorf("repository must be in format: owner/repo") + } + + repo, err := parseRepository(args) + if err != nil { + log.Debugf("parseRepository err: %v", err) + _ = cmd.Help() + return nil, "", err + } + log.Info("Repository", "repo", repo) + + log.Info("runtime", "GOOS", runtime.GOOS, "GOARCH", runtime.GOARCH) + + tagDisplay := repo.Tag + if repo.Tag == "" { + if preRelease { + tagDisplay = "pre-release" + } else { + tagDisplay = "latest" + } + } + styles.PrintKV("Repository", fmt.Sprintf("%s/%s:%s", repo.Owner, repo.Name, tagDisplay)) + + client := getClient() + + release, err := getRelease(client, repo, preRelease, skipPrompts) + if err != nil { + return nil, "", fmt.Errorf("get release error: %w", err) + } + if release == nil { + return nil, "", fmt.Errorf("no release found") + } + if verbose >= 3 { + log.Debugf("release: %v", release) + } + + //styles.PrintKV("Version", fmt.Sprintf("%s (%s)", release.GetTagName(), release.GetName())) + renderReleaseTable(release) + + // Asset + var asset *github.ReleaseAsset + var result int + + if assetName != "" { + result = findAssetByName(release.Assets, assetName) + } else { + result = findAssetByPlatform(release.Assets, runtime.GOOS, runtime.GOARCH) + } + log.Debugf("result: %v", result) + + if result < 0 || !skipPrompts { + options := make([]huh.Option[int], len(release.Assets)) + for i, asset := range release.Assets { + options[i] = huh.NewOption(asset.GetName(), i) + } + form := huh.NewSelect[int](). + Title("Select a release asset:"). + Options(options...). + Value(&result) + + err = form.Run() + if err != nil { + return nil, "", fmt.Errorf("prompt failed: %w", err) + } + } + + log.Debugf("result: %v", result) + asset = release.Assets[result] + log.Debugf("asset: %v", asset) + + if asset == nil { + return nil, "", fmt.Errorf("no asset selected") + } + + log.Infof("id: %v", asset.GetID()) + log.Infof("url: %v", asset.GetBrowserDownloadURL()) + styles.PrintKV("Asset Name", asset.GetName()) + + rc, _, err := client.Repositories.DownloadReleaseAsset( + context.Background(), repo.Owner, repo.Name, asset.GetID(), http.DefaultClient, + ) + if err != nil { + return nil, "", err + } + return rc, asset.GetName(), nil +} + +func downloadAssetURL(assetURL string) (io.ReadCloser, string, error) { + resp, err := http.DefaultClient.Get(assetURL) + if err != nil { + return nil, "", fmt.Errorf("%s for url: %s", err, assetURL) + } + + if resp.StatusCode != http.StatusOK { + _ = resp.Body.Close() + return nil, "", fmt.Errorf("%d: %s for url: %s", resp.StatusCode, resp.Status, assetURL) + } + name := strings.TrimSuffix(path.Base(assetURL), path.Ext(assetURL)) + return resp.Body, name, nil +} + func extractArchive(format archives.Format, stream io.Reader, tmpDir string) (string, error) { // NOSONAR ex, ok := format.(archives.Extractor) if !ok { diff --git a/cmd/root.go b/cmd/root.go index bb9064f..fc8be3d 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -42,6 +42,9 @@ func init() { _ = viper.BindPFlag("name", rootCmd.PersistentFlags().Lookup("name")) rootCmd.PersistentFlags().BoolP("pre", "p", false, "include pre-releases") + rootCmd.PersistentFlags().StringP("url", "u", "", "url of asset to download") + _ = viper.BindPFlag("url", rootCmd.PersistentFlags().Lookup("url")) + rootCmd.PersistentFlags().BoolP("yes", "y", false, "answer yes to prompts") _ = viper.BindPFlag("yes", rootCmd.PersistentFlags().Lookup("yes")) diff --git a/go.mod b/go.mod index 56adb92..af131e2 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,9 @@ go 1.25.6 require ( github.com/bartventer/httpcache v0.12.0 - github.com/charmbracelet/huh v0.8.0 + github.com/charmbracelet/huh v1.0.0 github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 - github.com/charmbracelet/log v0.4.2 + github.com/charmbracelet/log v1.0.0 github.com/confluentinc/go-editor v0.11.0 github.com/dustin/go-humanize v1.0.1 github.com/google/go-github/v58 v58.0.0 @@ -26,7 +26,7 @@ require ( github.com/catppuccin/go v0.3.0 // indirect github.com/charmbracelet/bubbles v1.0.0 // indirect github.com/charmbracelet/bubbletea v1.3.10 // indirect - github.com/charmbracelet/colorprofile v0.4.2 // indirect + github.com/charmbracelet/colorprofile v0.4.3 // indirect github.com/charmbracelet/x/ansi v0.11.6 // indirect github.com/charmbracelet/x/cellbuf v0.0.15 // indirect github.com/charmbracelet/x/exp/strings v0.1.0 // indirect @@ -46,16 +46,16 @@ require ( github.com/lucasb-eyer/go-colorful v1.3.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect - github.com/mattn/go-runewidth v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.21 // indirect github.com/mikelolasagasti/xz v1.0.1 // indirect - github.com/minio/minlz v1.0.1 // indirect + github.com/minio/minlz v1.1.0 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/muesli/termenv v0.16.0 // indirect github.com/nwaples/rardecode/v2 v2.2.2 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect - github.com/pierrec/lz4/v4 v4.1.25 // indirect + github.com/pierrec/lz4/v4 v4.1.26 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/sorairolake/lzip-go v0.3.8 // indirect @@ -68,7 +68,7 @@ require ( go.yaml.in/yaml/v3 v3.0.4 // indirect go4.org v0.0.0-20260112195520-a5071408f32f // indirect golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa // indirect - golang.org/x/sys v0.41.0 // indirect - golang.org/x/text v0.34.0 // indirect + golang.org/x/sys v0.42.0 // indirect + golang.org/x/text v0.35.0 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect ) diff --git a/go.sum b/go.sum index 15e6061..1254f58 100644 --- a/go.sum +++ b/go.sum @@ -24,14 +24,14 @@ github.com/charmbracelet/bubbles v1.0.0 h1:12J8/ak/uCZEMQ6KU7pcfwceyjLlWsDLAxB5f github.com/charmbracelet/bubbles v1.0.0/go.mod h1:9d/Zd5GdnauMI5ivUIVisuEm3ave1XwXtD1ckyV6r3E= github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw= github.com/charmbracelet/bubbletea v1.3.10/go.mod h1:ORQfo0fk8U+po9VaNvnV95UPWA1BitP1E0N6xJPlHr4= -github.com/charmbracelet/colorprofile v0.4.2 h1:BdSNuMjRbotnxHSfxy+PCSa4xAmz7szw70ktAtWRYrY= -github.com/charmbracelet/colorprofile v0.4.2/go.mod h1:0rTi81QpwDElInthtrQ6Ni7cG0sDtwAd4C4le060fT8= -github.com/charmbracelet/huh v0.8.0 h1:Xz/Pm2h64cXQZn/Jvele4J3r7DDiqFCNIVteYukxDvY= -github.com/charmbracelet/huh v0.8.0/go.mod h1:5YVc+SlZ1IhQALxRPpkGwwEKftN/+OlJlnJYlDRFqN4= +github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q= +github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q= +github.com/charmbracelet/huh v1.0.0 h1:wOnedH8G4qzJbmhftTqrpppyqHakl/zbbNdXIWJyIxw= +github.com/charmbracelet/huh v1.0.0/go.mod h1:5YVc+SlZ1IhQALxRPpkGwwEKftN/+OlJlnJYlDRFqN4= github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 h1:ZR7e0ro+SZZiIZD7msJyA+NjkCNNavuiPBLgerbOziE= github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834/go.mod h1:aKC/t2arECF6rNOnaKaVU6y4t4ZeHQzqfxedE/VkVhA= -github.com/charmbracelet/log v0.4.2 h1:hYt8Qj6a8yLnvR+h7MwsJv/XvmBJXiueUcI3cIxsyig= -github.com/charmbracelet/log v0.4.2/go.mod h1:qifHGX/tc7eluv2R6pWIpyHDDrrb/AG71Pf2ysQu5nw= +github.com/charmbracelet/log v1.0.0 h1:HVVVMmfOorfj3BA9i8X8UL69Hoz9lI0PYwXfJvOdRc4= +github.com/charmbracelet/log v1.0.0/go.mod h1:uYgY3SmLpwJWxmlrPwXvzVYujxis1vAKRV/0VQB7yWA= github.com/charmbracelet/x/ansi v0.11.6 h1:GhV21SiDz/45W9AnV2R61xZMRri5NlLnl6CVF7ihZW8= github.com/charmbracelet/x/ansi v0.11.6/go.mod h1:2JNYLgQUsyqaiLovhU2Rv/pb8r6ydXKS3NIttu3VGZQ= github.com/charmbracelet/x/cellbuf v0.0.15 h1:ur3pZy0o6z/R7EylET877CBxaiE1Sp1GMxoFPAIztPI= @@ -105,14 +105,14 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= -github.com/mattn/go-runewidth v0.0.20 h1:WcT52H91ZUAwy8+HUkdM3THM6gXqXuLJi9O3rjcQQaQ= -github.com/mattn/go-runewidth v0.0.20/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w= +github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mholt/archives v0.1.5 h1:Fh2hl1j7VEhc6DZs2DLMgiBNChUux154a1G+2esNvzQ= github.com/mholt/archives v0.1.5/go.mod h1:3TPMmBLPsgszL+1As5zECTuKwKvIfj6YcwWPpeTAXF4= github.com/mikelolasagasti/xz v1.0.1 h1:Q2F2jX0RYJUG3+WsM+FJknv+6eVjsjXNDV0KJXZzkD0= github.com/mikelolasagasti/xz v1.0.1/go.mod h1:muAirjiOUxPRXwm9HdDtB3uoRPrGnL85XHtokL9Hcgc= -github.com/minio/minlz v1.0.1 h1:OUZUzXcib8diiX+JYxyRLIdomyZYzHct6EShOKtQY2A= -github.com/minio/minlz v1.0.1/go.mod h1:qT0aEB35q79LLornSzeDH75LBf3aH1MV+jB5w9Wasec= +github.com/minio/minlz v1.1.0 h1:rUOGu3EP4EqJC5k3qCsIwEnZiJULKqtRyDdqbhlvMmQ= +github.com/minio/minlz v1.1.0/go.mod h1:qT0aEB35q79LLornSzeDH75LBf3aH1MV+jB5w9Wasec= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= @@ -125,8 +125,8 @@ github.com/nwaples/rardecode/v2 v2.2.2 h1:/5oL8dzYivRM/tqX9VcTSWfbpwcbwKG1QtSJr3 github.com/nwaples/rardecode/v2 v2.2.2/go.mod h1:7uz379lSxPe6j9nvzxUZ+n7mnJNgjsRNb6IbvGVHRmw= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= -github.com/pierrec/lz4/v4 v4.1.25 h1:kocOqRffaIbU5djlIBr7Wh+cx82C0vtFb0fOurZHqD0= -github.com/pierrec/lz4/v4 v4.1.25/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= +github.com/pierrec/lz4/v4 v4.1.26 h1:GrpZw1gZttORinvzBdXPUXATeqlJjqUG/D87TKMnhjY= +github.com/pierrec/lz4/v4 v4.1.26/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= @@ -174,14 +174,14 @@ go4.org v0.0.0-20260112195520-a5071408f32f h1:ziUVAjmTPwQMBmYR1tbdRFJPtTcQUI12fH go4.org v0.0.0-20260112195520-a5071408f32f/go.mod h1:ZRJnO5ZI4zAwMFp+dS1+V6J6MSyAowhRqAE+DPa1Xp0= golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= +golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= diff --git a/scripts/install.sh b/scripts/install.sh index df20b8e..a890646 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -105,7 +105,7 @@ fi ## TEMP -TEMP_DIR=$(mktemp -d -t install-release-XXXXXXXXXX) +TEMP_DIR=$(mktemp -d -t install-XXXXXXXXXX) echo "TEMP_DIR: ${TEMP_DIR}" function _execution_trap() {