This is an automated email from the ASF dual-hosted git repository.

msciabarra pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/openserverless-task.git

commit f827c65334980e3cf88f7bdd13297a533b4dd1be
Author: Michele Sciabarra <[email protected]>
AuthorDate: Mon Aug 5 15:15:39 2024 +0200

    test all the downloads
---
 opsroot.json      |  2 +-
 prereq.yml        | 73 ++++++++++++++++++++++++++++++++++++++++++++++---------
 tests/opsfile.yml |  8 +++---
 util/opsfile.yml  | 15 +++++++++++-
 4 files changed, 81 insertions(+), 17 deletions(-)

diff --git a/opsroot.json b/opsroot.json
index c3d4823..e97ff5f 100644
--- a/opsroot.json
+++ b/opsroot.json
@@ -1,5 +1,5 @@
 {
-    "version": "0.1.0-2407311454.dev",
+    "version": "0.1.0-2408041450.dev",
     "config": {
        "ops": {
             "coreutils": "arch b2sum b3sum base32 base64 basename basenc cat 
chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors 
dirname du env expand expr factor fmt fold groups hashsum head hostid hostname 
id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp more 
mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd 
readlink realpath rm rmdir seq sha1sum sha224sum sha256sum sha3-224sum 
sha3-256sum sha3-384sum sha3-512sum sh [...]
diff --git a/prereq.yml b/prereq.yml
index 4859ed7..2e86501 100644
--- a/prereq.yml
+++ b/prereq.yml
@@ -2,10 +2,8 @@ version: 3
 
 vars:
   OS: "{{or .__OS OS}}"
-  BOH: "{{.__ARCH}}"
   ARCH: "{{or .__ARCH ARCH}}"
-  ARC: '{{if eq .OS "windows"}}.zip{{else}}.tgz{{end}}'
-  ARC2: '{{if eq .OS "windows"}}.zip{{else}}.tar.gz{{end}}'
+  ARC: '{{if eq .OS "windows"}}.zip{{else}}.tar.gz{{end}}'
   EXE: '{{if eq .OS "windows"}}.exe{{else}}{{end}}'
 
 tasks:
@@ -28,9 +26,9 @@ tasks:
         - URL
         - OUT
     cmds:
-      - curl -sL -ccookie.txt -o"{{.OUT}}" "{{.URL}}"
-      - '{{if eq .OS "windows"}}rename {{.OUT}} {{.OUT}}.exe{{else}}chmod +x 
{{.OUT}}{{end}}'
-      - remove cookie.txt
+      - curl -sL -o"{{.OUT}}" "{{.URL}}"
+      - '{{if eq .OS "windows"}}rename {{.OUT}} {{.OUT}}.exe{{end}}'
+      - '{{if ne .OS "windows"}}chmod +x {{.OUT}}{{end}}'
 
   7zz:
     desc: download 7zz
@@ -54,7 +52,8 @@ tasks:
       then rename 7zr.exe 7zz.exe
       else extract "{{.FILE}}" 7zz
       fi
- 
+    - if test -e "{{.FILE}}" ; then remove "{{.FILE}}" ; fi
+
   coreutils:
     desc: download coreutils
     vars:
@@ -71,7 +70,7 @@ tasks:
             windows-*) echo "x86_64-pc-windows-gnu" ;;
             *) echo "unknown" ;;
             esac
-      URL: 
"https://github.com/uutils/coreutils/releases/download/{{.VERSION}}/coreutils-{{.VERSION}}-{{.SUFFIX}}{{.ARC2}}";
 
+      URL: 
"https://github.com/uutils/coreutils/releases/download/{{.VERSION}}/coreutils-{{.VERSION}}-{{.SUFFIX}}{{.ARC}}";
 
       FILE: "{{base .URL}}"
       OUT: coreutils
     cmds:
@@ -97,15 +96,15 @@ tasks:
   kubectl:
     desc: download kubectl
     vars:
-      VERSION: v1.30.3
+      VERSION: 1.30.3
     cmds:
       - task: download
         vars:
-          URL: 
"https://dl.k8s.io/release/{{.VERSION}}/bin/{{.OS}}/{{.ARCH}}/kubectl{{.EXE}}";
+          URL: 
"https://dl.k8s.io/release/v{{.VERSION}}/bin/{{.OS}}/{{.ARCH}}/kubectl{{.EXE}}";
           OUT: kubectl
 
   kind:
-    desc: download bun
+    desc: download kind
     vars:
       VERSION: 0.17.0
     cmds:
@@ -133,6 +132,32 @@ tasks:
         vars:
           URL: "{{.BASE}}/{{.FILE}}"
           OUT: k3sup
+  
+  rg:
+    desc: download ripgrep
+    vars:
+      # when changing this add the list of utilites to nuvroot.json in 
config.ops.coreutils
+      # do NOT include [ test false true echo
+      VERSION: "14.1.0"
+      SUFFIX:
+        sh: |
+            case "{{.OS}}-{{.ARCH}}" in
+            linux-amd64) echo "x86_64-unknown-linux-musl" ;;
+            linux-arm64) echo "aarch64-unknown-linux-gnu" ;;
+            darwin-amd64) echo "x86_64-apple-darwin" ;;
+            darwin-arm64) echo "aarch64-apple-darwin" ;; 
+            windows-*) echo "x86_64-pc-windows-msvc" ;;
+            *) echo "unknown" ;;
+            esac
+      URL: 
"https://github.com/BurntSushi/ripgrep/releases/download/{{.VERSION}}/ripgrep-{{.VERSION}}-{{.SUFFIX}}{{.ARC}}";
 
+      FILE: "{{base .URL}}"
+      OUT: rg
+    cmds:
+    - task: download-and-extract
+      vars:
+        URL: "{{.URL}}"
+        FILE: "{{.FILE}}"
+        OUT: "{{.OUT}}"
 
   all:
     - task: 7zz
@@ -141,3 +166,29 @@ tasks:
     - task: kind
     - task: k3sup
     - task: kubectl
+    - task: rg
+
+  test:
+   vars:
+     FILETYPE:
+       sh: |
+           case "{{.OS}" in
+           (windows) application/vnd.microsoft.portable-executable ;;
+           (linux) application/x-executable ;;
+           (darwin) application/x-mach-binary ;;
+           (*) unknown ;;
+           esac
+      DIR: {{.OPS_PWD}}/bin/{{.OS}}-{{.ARCH}}
+   cmds:
+   - |
+     mkdir -p {{.DIR}}
+     cd {{.DIR}}
+     ops -task -t ../../prereq.yml -d {{.DIR}} all
+      
+  tests:
+   - rm -Rvf bin
+   - __OS=linux   __ARCH=amd64 ops -task -t prereq.yml test
+   - __OS=linux   __ARCH=arm64 ops -task -t prereq.yml test
+   - __OS=darwin  __ARCH=amd64 ops -task -t prereq.yml test
+   - __OS=darwin  __ARCH=arm64 ops -task -t prereq.yml test
+   - __OS=windows __ARCH=amd64 ops -task -t prereq.yml test
diff --git a/tests/opsfile.yml b/tests/opsfile.yml
index 16190a9..41d02e1 100644
--- a/tests/opsfile.yml
+++ b/tests/opsfile.yml
@@ -16,19 +16,19 @@ tasks:
     silent: true
     desc: 7zz test
     cmds:
-    - 7zz | grep 7-Zip
+    - 7zz | rg 7-Zip
 
   coreutils:
     silent: true
     desc: Coreutils test
     cmds:
-    - coreutils | grep '(multi-call binary)'
+    - coreutils | rg '(multi-call binary)'
 
   bun:
     silent: true
     desc: Bun test
     cmds:
-    - bun | grep 'Bun is'
+    - bun | rg 'Bun is'
 
   kubectl:
     silent: true
@@ -46,7 +46,7 @@ tasks:
     silent: true
     desc: k3sup test
     cmds:
-    - echo k3sup $(k3sup version | grep 'Version:')
+    - echo k3sup $(k3sup version | rg 'Version:')
 
   tools:
     - rename
diff --git a/util/opsfile.yml b/util/opsfile.yml
index fed4a5d..b650794 100644
--- a/util/opsfile.yml
+++ b/util/opsfile.yml
@@ -9,10 +9,23 @@ tasks:
     - echo "{{OS}}-{{ARCH}}"
 
   update-cli:
-    desc: update CLI (TODO)
+    desc: update CLI
     silent: true
+    vars:
+       BASE: "https://github.com/apache/openserverless-cli/releases/download";
+       VER:
+        sh: jq .version -r $OPS_ROOT/opsroot.json
+       URL: 
"{{.BASE}}/v{{.VER}}/openserverless-cli_{{.VER}}_{{.OS}}_{{.ARCH}}{{.ARC}}"
+       FILE: "{{base .URL}}"
     cmds:
     - echo "Trying to update ops..."
+    - curl -sL "{{.URL}}" -o "$OPS_TMP/{{.FILE}}"
+    - extract "$OPS_TMP/{{.FILE}}" "$OPS_TMP/ops{{.EXE}}"
+    - |
+      if mv -v "$OPS_TMP/ops{{.EXE}}" "$OPS_CMD"
+      then echo "ops updated!"
+      else echo "cannot update ops - please execute 'ops util update-cli' as 
an administrator"
+      fi
 
 
   check-operator-version:

Reply via email to