Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package arkade for openSUSE:Factory checked 
in at 2025-05-22 16:56:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arkade (Old)
 and      /work/SRC/openSUSE:Factory/.arkade.new.2732 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "arkade"

Thu May 22 16:56:47 2025 rev:51 rq:1279149 version:0.11.39

Changes:
--------
--- /work/SRC/openSUSE:Factory/arkade/arkade.changes    2025-03-25 
22:23:03.989110749 +0100
+++ /work/SRC/openSUSE:Factory/.arkade.new.2732/arkade.changes  2025-05-22 
16:57:19.439079850 +0200
@@ -1,0 +2,8 @@
+Thu May 22 04:34:57 UTC 2025 - Johannes Kastl 
<opensuse_buildserv...@ojkastl.de>
+
+- Update to version 0.11.39:
+  * feat: improve `install` error when app doesnt exist
+  * feat:add pulumi
+  * Add arm64 target for istioctl
+
+-------------------------------------------------------------------

Old:
----
  arkade-0.11.38.obscpio

New:
----
  arkade-0.11.39.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ arkade.spec ++++++
--- /var/tmp/diff_new_pack.CkHh4v/_old  2025-05-22 16:57:21.123150819 +0200
+++ /var/tmp/diff_new_pack.CkHh4v/_new  2025-05-22 16:57:21.135151325 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           arkade
-Version:        0.11.38
+Version:        0.11.39
 Release:        0
 Summary:        Open Source Kubernetes Marketplace
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.CkHh4v/_old  2025-05-22 16:57:21.379161607 +0200
+++ /var/tmp/diff_new_pack.CkHh4v/_new  2025-05-22 16:57:21.419163293 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/alexellis/arkade</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">0.11.38</param>
+    <param name="revision">0.11.39</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.CkHh4v/_old  2025-05-22 16:57:21.647172901 +0200
+++ /var/tmp/diff_new_pack.CkHh4v/_new  2025-05-22 16:57:21.691174756 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/alexellis/arkade</param>
-              <param 
name="changesrevision">5f297ca0ab977c4831395b3b984c1e6e7f8126e4</param></service></servicedata>
+              <param 
name="changesrevision">bc4fbb9d00a4aedf7ffd2e991c5b593b272a7eea</param></service></servicedata>
 (No newline at EOF)
 

++++++ arkade-0.11.38.obscpio -> arkade-0.11.39.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/CODEOWNERS 
new/arkade-0.11.39/.github/CODEOWNERS
--- old/arkade-0.11.38/.github/CODEOWNERS       2025-03-25 16:12:55.000000000 
+0100
+++ new/arkade-0.11.39/.github/CODEOWNERS       1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-@alexellis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/ISSUE_TEMPLATE.md 
new/arkade-0.11.39/.github/ISSUE_TEMPLATE.md
--- old/arkade-0.11.38/.github/ISSUE_TEMPLATE.md        2025-03-25 
16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.github/ISSUE_TEMPLATE.md        1970-01-01 
01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-<!--- Provide a general summary of the issue in the Title above -->
-
-## Expected Behaviour
-<!--- If you're describing a bug, tell us what should happen -->
-<!--- If you're suggesting a change/improvement, tell us how it should work -->
-
-## Current Behaviour
-<!--- If describing a bug, tell us what happens instead of the expected 
behavior -->
-<!--- If suggesting a change/improvement, explain the difference from current 
behavior -->
-
-## Possible Solution
-<!--- Not obligatory, but suggest a fix/reason for the bug, -->
-<!--- or ideas how to implement the addition or change -->
-
-## Steps to Reproduce (for bugs)
-<!--- Provide a link to a live example, or an unambiguous set of steps to -->
-<!--- reproduce this bug. Include code to reproduce, if relevant -->
-1.
-2.
-3.
-4.
-
-## Context
-
-<!--- How has this issue affected you? What are you trying to accomplish? -->
-<!--- What would happen if this issue was not resolved for you in some way? -->
-<!--- Providing context helps us come up with a solution that is most useful 
in the real world -->
-
-## If requesting a CLI for "arkade get"
-
-How many downloads does this tool have? Check at: 
-
-https://somsubhra.github.io/github-release-stats/
-
-If approved, are you willing to submit a pull request for this?
-
-## Your Environment
-
-* What Kubernetes distribution are you using?
-
-```
-kubectl version
-```
-
-* Operating System and version (e.g. Linux, Windows, MacOS):
-
-```
-uname -a
-
-cat /etc/os-release
-```
-
-* What arkade version is this?
-
-```
-arkade version
-```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/PULL_REQUEST_TEMPLATE.md 
new/arkade-0.11.39/.github/PULL_REQUEST_TEMPLATE.md
--- old/arkade-0.11.38/.github/PULL_REQUEST_TEMPLATE.md 2025-03-25 
16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.github/PULL_REQUEST_TEMPLATE.md 1970-01-01 
01:00:00.000000000 +0100
@@ -1,42 +0,0 @@
-<!--- Provide a general summary of your changes in the Title above -->
-
-## Description
-<!--- Describe your changes in detail -->
-
-## Motivation and Context
-<!--- Why is this change required? What problem does it solve? -->
-<!--- If it fixes an open issue, please link to the issue here. -->
-- [ ] I have raised an issue to propose this change, which has been given a 
label of `design/approved` by a maintainer 
([required](https://github.com/alexellis/arkade/blob/master/CONTRIBUTING.md))
-
-
-## How Has This Been Tested?
-<!--- Please describe in detail how you tested your changes. -->
-<!--- Include details of your testing environment, and the tests you ran to -->
-<!--- see how your change affects other areas of the code, etc. -->
-
-If updating or adding a new CLI to `arkade get`, run:
-
-```
-go build && ./hack/test-tool.sh TOOL_NAME
-```
-
-## Types of changes
-<!--- What types of changes does your code introduce? Put an `x` in all the 
boxes that apply: -->
-- [ ] Bug fix (non-breaking change which fixes an issue)
-- [ ] New feature (non-breaking change which adds functionality)
-- [ ] Breaking change (fix or feature that would cause existing functionality 
to change)
-
-## Documentation
-
-- [ ] I have updated the list of tools in README.md if (required) with 
`./arkade get --format markdown`
-- [ ] I have updated the list of apps in README.md if (required) with 
`./arkade install --help`
-
-## Checklist:
-- [ ] My code follows the code style of this project.
-- [ ] My change requires a change to the documentation.
-- [ ] I have updated the documentation accordingly.
-- [ ] I've read the 
[CONTRIBUTION](https://github.com/alexellis/arkade/blob/master/CONTRIBUTING.md) 
guide
-- [ ] I have signed-off my commits with `git commit -s`
-
-<!--- For "arkade install" or "arkade system install" -->
-- [ ] I have tested this on arm, or have added code to prevent deployment
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/dependabot.yml 
new/arkade-0.11.39/.github/dependabot.yml
--- old/arkade-0.11.38/.github/dependabot.yml   2025-03-25 16:12:55.000000000 
+0100
+++ new/arkade-0.11.39/.github/dependabot.yml   1970-01-01 01:00:00.000000000 
+0100
@@ -1,11 +0,0 @@
-version: 2
-# reference: 
https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
-updates:
-  - package-ecosystem: "gomod"
-    directory: "/"
-    schedule:
-      interval: "daily"
-  - package-ecosystem: "github-actions"
-    directory: "/"
-    schedule:
-      interval: "daily"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/workflows/build.yml 
new/arkade-0.11.39/.github/workflows/build.yml
--- old/arkade-0.11.38/.github/workflows/build.yml      2025-03-25 
16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.github/workflows/build.yml      1970-01-01 
01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-name: build
-
-on:
-  push:
-    branches:
-    - '*'
-  pull_request:
-    branches:
-    - '*'
-
-jobs:
-  build:
-    concurrency: 
-      group: ${{ github.ref }}
-      cancel-in-progress: true
-
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@master
-        with:
-          fetch-depth: 1
-      - name: Install Go
-        uses: actions/setup-go@master
-        with:
-          go-version: 1.23.x
-      - name: Make all
-        run: make all
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/workflows/e2e-url-checker.yml 
new/arkade-0.11.39/.github/workflows/e2e-url-checker.yml
--- old/arkade-0.11.38/.github/workflows/e2e-url-checker.yml    2025-03-25 
16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.github/workflows/e2e-url-checker.yml    1970-01-01 
01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-name: e2e-url-checker
-
-on:
-  schedule:
-    - cron: '0 0 * * *'
-  push:
-    branches:
-    - '*'
-  pull_request:
-    branches:
-    - '*'
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@master
-        with:
-          fetch-depth: 1
-      - name: Install Go
-        uses: actions/setup-go@master
-        with:
-          go-version: 1.23.x
-      - name: Run URL checker tests
-        run: make e2e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.github/workflows/publish.yml 
new/arkade-0.11.39/.github/workflows/publish.yml
--- old/arkade-0.11.38/.github/workflows/publish.yml    2025-03-25 
16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.github/workflows/publish.yml    1970-01-01 
01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-name: publish
-
-on:
-  push:
-    tags:
-      - '*'
-
-jobs:
-  publish:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@master
-        with:
-          fetch-depth: 1
-      - name: Install Go
-        uses: actions/setup-go@master
-        with:
-          go-version: 1.23.x
-      - name: Make all
-        run: make all
-      - name: Upload release binaries
-        uses: alexellis/upload-assets@0.4.1
-        env:
-          GITHUB_TOKEN: ${{ github.token }}
-        with:
-          asset_paths: '["./bin/arkade*"]'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/.gitignore 
new/arkade-0.11.39/.gitignore
--- old/arkade-0.11.38/.gitignore       2025-03-25 16:12:55.000000000 +0100
+++ new/arkade-0.11.39/.gitignore       1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-arkade
-arkade.exe
-bin/**
-kubeconfig
-.DS_Store
-.idea/
-mc
-/arkade-*
-/faas-cli*
-test.out
-docker-compose.yaml*
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/README.md new/arkade-0.11.39/README.md
--- old/arkade-0.11.38/README.md        2025-03-25 16:12:55.000000000 +0100
+++ new/arkade-0.11.39/README.md        2025-05-21 15:34:15.000000000 +0200
@@ -889,6 +889,7 @@
 | [popeye](https://github.com/derailed/popeye)                                 
| Scans live Kubernetes cluster and reports potential issues with deployed 
resources and configurations.                                                   
         |
 | [porter](https://github.com/getporter/porter)                                
| With Porter you can package your application artifact, tools, etc. as a 
bundle that can distribute and install.                                         
          |
 | [promtool](https://github.com/prometheus/prometheus)                         
| Prometheus rule tester and debugging utility                                  
                                                                                
    |
+| [pulumi](https://github.com/pulumi/pulumi)                                   
| Infrastructure as Code in any programming language.                           
                                                                                
    |
 | [rclone](https://github.com/rclone/rclone)                                   
| 'rsync for cloud storage' - Google Drive, S3, Dropbox, Backblaze B2, One 
Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, 
Yandex Files |
 | [regctl](https://github.com/regclient/regclient)                             
| Utility for accessing docker registries                                       
                                                                                
    |
 | [rekor-cli](https://github.com/sigstore/rekor)                               
| Secure Supply Chain - Transparency Log                                        
                                                                                
    |
@@ -925,5 +926,5 @@
 | [waypoint](https://github.com/hashicorp/waypoint)                            
| Easy application deployment for Kubernetes and Amazon ECS                     
                                                                                
    |
 | [yq](https://github.com/mikefarah/yq)                                        
| Portable command-line YAML processor.                                         
                                                                                
    |
 | [yt-dlp](https://github.com/yt-dlp/yt-dlp)                                   
| Fork of youtube-dl with additional features and fixes                         
                                                                                
    |
-There are 166 tools, use `arkade get NAME` to download one.
+There are 167 tools, use `arkade get NAME` to download one.
 > Note to contributors, run `go build && ./arkade get --format markdown` to 
 > generate this list
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/cmd/install.go 
new/arkade-0.11.39/cmd/install.go
--- old/arkade-0.11.38/cmd/install.go   2025-03-25 16:12:55.000000000 +0100
+++ new/arkade-0.11.39/cmd/install.go   2025-05-21 15:34:15.000000000 +0200
@@ -4,14 +4,17 @@
 package cmd
 
 import (
+       "errors"
        "fmt"
        "os"
        "sort"
+       "strings"
 
        "github.com/olekukonko/tablewriter"
        "github.com/spf13/cobra"
 
        "github.com/alexellis/arkade/cmd/apps"
+       "github.com/alexellis/arkade/pkg/get"
 )
 
 type ArkadeApp struct {
@@ -100,7 +103,7 @@
                        }
                }
                if app == nil {
-                       return fmt.Errorf("no such app: %s, run \"arkade 
install --help\" for a list of apps", name)
+                       return errors.New(checkForTool(name, get.MakeTools()))
                }
 
                return nil
@@ -181,3 +184,13 @@
                InfoMessage: msg,
        }
 }
+
+func checkForTool(appName string, tools []get.Tool) string {
+
+       for _, tool := range tools {
+               if strings.EqualFold(tool.Name, appName) {
+                       return fmt.Sprintf("no such app. %s is available as a 
tool, run \"arkade get %s\" to get it", appName, appName)
+               }
+       }
+       return fmt.Sprintf("no such app: %s, run \"arkade install --help\" for 
a list of apps", appName)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/cmd/install_test.go 
new/arkade-0.11.39/cmd/install_test.go
--- old/arkade-0.11.38/cmd/install_test.go      1970-01-01 01:00:00.000000000 
+0100
+++ new/arkade-0.11.39/cmd/install_test.go      2025-05-21 15:34:15.000000000 
+0200
@@ -0,0 +1,91 @@
+// Copyright (c) arkade author(s) 2022. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for 
full license information.
+
+package cmd
+
+import (
+       "testing"
+
+       "github.com/alexellis/arkade/pkg/get"
+)
+
+type Tool = get.Tool
+
+func TestCheckForTool(t *testing.T) {
+       tests := []struct {
+               name       string
+               appName    string
+               tools      []Tool
+               want       string
+               expectFail bool
+       }{
+               {
+                       name:    "Tool exists but expected is wrong",
+                       appName: "kubectl",
+                       tools: []Tool{
+                               {Name: "kubectl"},
+                               {Name: "helm"},
+                               {Name: "k9s"},
+                       },
+                       want:       "this test should fail",
+                       expectFail: true,
+               },
+               {
+                       name:    "Tool exists",
+                       appName: "kubectl",
+                       tools: []Tool{
+                               {Name: "kubectl"},
+                               {Name: "helm"},
+                               {Name: "k9s"},
+                       },
+                       want:       "no such app. kubectl is available as a 
tool, run \"arkade get kubectl\" to get it",
+                       expectFail: false,
+               },
+               {
+                       name:    "Tool does not exist",
+                       appName: "randomtool",
+                       tools: []Tool{
+                               {Name: "kubectl"},
+                               {Name: "helm"},
+                       },
+                       want:       "no such app: randomtool, run \"arkade 
install --help\" for a list of apps",
+                       expectFail: false,
+               },
+               {
+                       name:    "Case-insensitive match",
+                       appName: "KUBECTL",
+                       tools: []Tool{
+                               {Name: "kubectl"},
+                               {Name: "helm"},
+                       },
+                       want:       "no such app. KUBECTL is available as a 
tool, run \"arkade get KUBECTL\" to get it",
+                       expectFail: false,
+               },
+               {
+                       name:       "Empty tool list",
+                       appName:    "kubectl",
+                       tools:      []Tool{},
+                       want:       "no such app: kubectl, run \"arkade install 
--help\" for a list of apps",
+                       expectFail: false,
+               },
+               {
+                       name:    "Empty app name",
+                       appName: "",
+                       tools: []Tool{
+                               {Name: "kubectl"},
+                       },
+                       want:       "no such app: , run \"arkade install 
--help\" for a list of apps",
+                       expectFail: false,
+               },
+       }
+
+       for _, tc := range tests {
+               t.Run(tc.name, func(t *testing.T) {
+                       got := checkForTool(tc.appName, tc.tools)
+                       if got != tc.want && !tc.expectFail {
+                               t.Errorf("%s\nwant: %s\n got: %s",
+                                       tc.name, tc.want, got)
+                       }
+               })
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/pkg/get/get_test.go 
new/arkade-0.11.39/pkg/get/get_test.go
--- old/arkade-0.11.38/pkg/get/get_test.go      2025-03-25 16:12:55.000000000 
+0100
+++ new/arkade-0.11.39/pkg/get/get_test.go      2025-05-21 15:34:15.000000000 
+0200
@@ -2374,50 +2374,56 @@
                {
                        os:      "ming",
                        arch:    "amd64",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-win.zip`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-win.zip`,
                },
                {
                        os:      "linux",
                        arch:    "x86_64",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-amd64.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-amd64.tar.gz`,
                },
                {
                        os:      "linux",
                        arch:    "amd64",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-amd64.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-amd64.tar.gz`,
                },
                {
                        os:      "linux",
                        arch:    "arm",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-armv7.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-armv7.tar.gz`,
                },
                {
                        os:      "linux",
                        arch:    "armv6l",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-armv7.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-armv7.tar.gz`,
                },
                {
                        os:      "linux",
                        arch:    archARM7,
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-armv7.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-armv7.tar.gz`,
                },
                {
                        os:      "linux",
                        arch:    archARM64,
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-linux-arm64.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-linux-arm64.tar.gz`,
                },
                {
                        os:      "darwin",
                        arch:    "amd64",
-                       version: "1.9.1",
-                       url:     
`https://github.com/istio/istio/releases/download/1.9.1/istioctl-1.9.1-osx.tar.gz`,
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-osx.tar.gz`,
+               },
+               {
+                       os:      "darwin",
+                       arch:    "arm64",
+                       version: "1.24.4",
+                       url:     
`https://github.com/istio/istio/releases/download/1.24.4/istioctl-1.24.4-osx-arm64.tar.gz`,
                },
        }
 
@@ -8392,6 +8398,62 @@
                },
        }
        for _, tc := range tests {
+               got, err := tool.GetURL(tc.os, tc.arch, tc.version, false)
+               if err != nil {
+                       t.Fatal(err)
+               }
+               if got != tc.url {
+                       t.Fatalf("\nwant: %s\ngot:  %s", tc.url, got)
+               }
+       }
+}
+
+func Test_Download_pulumi(t *testing.T) {
+       tools := MakeTools()
+       name := "pulumi"
+       const toolVersion = "v3.160.0"
+
+       tool := getTool(name, tools)
+
+       tests := []test{
+               {
+                       os:      "darwin",
+                       arch:    arch64bit,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-darwin-x64.tar.gz";,
+               },
+               {
+                       os:      "darwin",
+                       arch:    archDarwinARM64,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-darwin-arm64.tar.gz";,
+               },
+               {
+                       os:      "linux",
+                       arch:    arch64bit,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-linux-x64.tar.gz";,
+               },
+               {
+                       os:      "linux",
+                       arch:    archARM64,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-linux-arm64.tar.gz";,
+               },
+               {
+                       os:      "ming",
+                       arch:    arch64bit,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-windows-x64.zip";,
+               },
+               {
+                       os:      "ming",
+                       arch:    archARM64,
+                       version: toolVersion,
+                       url:     
"https://github.com/pulumi/pulumi/releases/download/v3.160.0/pulumi-v3.160.0-windows-arm64.zip";,
+               },
+       }
+       for _, tc := range tests {
                got, err := tool.GetURL(tc.os, tc.arch, tc.version, false)
                if err != nil {
                        t.Fatal(err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/arkade-0.11.38/pkg/get/tools.go 
new/arkade-0.11.39/pkg/get/tools.go
--- old/arkade-0.11.38/pkg/get/tools.go 2025-03-25 16:12:55.000000000 +0100
+++ new/arkade-0.11.39/pkg/get/tools.go 2025-05-21 15:34:15.000000000 +0200
@@ -1585,6 +1585,9 @@
                                {{$versionString = "win"}}
                                {{- else if eq .OS "darwin" -}}
                                {{$versionString = "osx"}}
+                                       {{ if eq .Arch "arm64" -}}
+                                       {{$versionString = "osx-arm64"}}
+                                       {{- end -}}
                                {{- end -}}
 
                                {{$ext := ".tar.gz"}}
@@ -4598,6 +4601,31 @@
                                                                
gitwho_{{.Version}}_{{$os}}_{{$arch}}.{{$ext}}
                                                                `,
                })
-
+       tools = append(tools,
+               Tool{
+                       Owner:           "pulumi",
+                       Repo:            "pulumi",
+                       Name:            "pulumi",
+                       VersionStrategy: GitHubVersionStrategy,
+                       Description:     "Infrastructure as Code in any 
programming language.",
+                       BinaryTemplate: `
+                                                               {{$os := .OS}}
+                                                               {{$arch := 
.Arch}}
+                                                               {{$ext := 
"tar.gz"}}
+               
+                                                               {{- if eq .Arch 
"x86_64" -}}
+                                                                       {{$arch 
= "x64"}}
+                                                               {{- else if (or 
(eq .Arch "aarch64") (eq .Arch "arm64")) -}}
+                                                                       {{$arch 
= "arm64"}}
+                                                               {{- end -}}
+                                                               
+                                                               {{- if 
HasPrefix .OS "ming" -}}
+                                                                       {{$os = 
"windows"}}
+                                                                       {{$ext 
= "zip"}}
+                                                               {{- end -}}
+               
+                                                               
{{.Name}}-{{.Version}}-{{$os}}-{{$arch}}.{{$ext}}
+                                                                       `,
+               })
        return tools
 }

++++++ arkade.obsinfo ++++++
--- /var/tmp/diff_new_pack.CkHh4v/_old  2025-05-22 16:57:24.083275561 +0200
+++ /var/tmp/diff_new_pack.CkHh4v/_new  2025-05-22 16:57:24.103276405 +0200
@@ -1,5 +1,5 @@
 name: arkade
-version: 0.11.38
-mtime: 1742915575
-commit: 5f297ca0ab977c4831395b3b984c1e6e7f8126e4
+version: 0.11.39
+mtime: 1747834455
+commit: bc4fbb9d00a4aedf7ffd2e991c5b593b272a7eea
 

++++++ vendor.tar.gz ++++++

Reply via email to