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:
