From 718aca4975e88cd7ec7534800d7e7284fd003c79 Mon Sep 17 00:00:00 2001 From: Dana Date: Wed, 29 Mar 2023 15:05:43 +0300 Subject: [PATCH 01/13] using codecovcli as the uploader --- src/scripts/download.sh | 2 +- src/scripts/upload.sh | 36 ++++++++++++++---------------------- src/scripts/validate.sh | 6 +++--- 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/scripts/download.sh b/src/scripts/download.sh index 9920d73..2895d16 100644 --- a/src/scripts/download.sh +++ b/src/scripts/download.sh @@ -15,7 +15,7 @@ codecov_filename="codecov" echo "export codecov_filename=${codecov_filename}" >> $BASH_ENV [[ $codecov_os == "macos" ]] && \ HOMEBREW_NO_AUTO_UPDATE=1 brew install gpg -codecov_url="https://uploader.codecov.io" +codecov_url="https://cli.codecov.io" codecov_url="$codecov_url/${PARAM_VERSION}" codecov_url="$codecov_url/${codecov_os}/${codecov_filename}" echo "Downloading ${codecov_url}" diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index 8b4c033..aaf1d8a 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -6,30 +6,22 @@ chmod +x $codecov_filename set - "${@}" "-f" "${PARAM_FILE}" [ -n "${PARAM_XTRA_ARGS}" ] && \ set - "${@}" "${PARAM_XTRA_ARGS}" -[ -n "${PARAM_UPLOAD_NAME}" ] && \ - PARAM_UPLOAD_NAME="${CIRCLE_BUILD_NUM}" +[ -n "${PARAM_FLAGS}" ] && \ + set - "${@}" "-F" "${PARAM_FLAGS}" +# alpine doesn't allow for indirect expansion +#create commit +./"$filename" \ + create-commit \ + -t "$(eval echo \$$PARAM_TOKEN)" \ -FLAGS="" -OLDIFS=$IFS;IFS=, -for flag in $PARAM_FLAGS; do - eval e="\$$flag" - for param in "${e}" "${flag}"; do - if [ -n "${param}" ]; then - if [ -n "${FLAGS}" ]; then - FLAGS="${FLAGS},${param}" - else - FLAGS="${param}" - fi - break - fi - done -done -IFS=$OLDIFS +#create report +./"$filename" \ + create-report \ + -t "$(eval echo \$$PARAM_TOKEN)" \ -# alpine doesn't allow for indirect expansion -./"$codecov_filename" \ - -Q "codecov-circleci-orb-3.2.5" \ +#upload reports +./"$filename" \ + do-upload \ -t "$(eval echo \$$PARAM_TOKEN)" \ -n "${PARAM_UPLOAD_NAME}" \ - -F "${FLAGS}" \ ${@} diff --git a/src/scripts/validate.sh b/src/scripts/validate.sh index f4794e6..a1ab6ef 100644 --- a/src/scripts/validate.sh +++ b/src/scripts/validate.sh @@ -2,9 +2,9 @@ source $BASH_ENV echo "${CODECOV_PUBLIC_PGP_KEY}" | \ gpg --no-default-keyring --keyring trustedkeys.gpg --import # One-time step -sha_url="https://uploader.codecov.io" -sha_url="$sha_url/${codecov_version}/${codecov_os}" -sha_url="$sha_url/${codecov_filename}.SHA256SUM" +sha_url="https://cli.codecov.io" +sha_url="$sha_url/${version}/${os}" +sha_url="$sha_url/${filename}.SHA256SUM" echo "Downloading ${sha_url}" curl -Os $sha_url curl -Os $sha_url".sig" From 1206bf6ba1f0fec99c7ef7af7bbb066b56497dca Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:06:35 -0700 Subject: [PATCH 02/13] fix: update trustedkeys to kbx --- src/scripts/validate.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/validate.sh b/src/scripts/validate.sh index a1ab6ef..0f1275b 100644 --- a/src/scripts/validate.sh +++ b/src/scripts/validate.sh @@ -1,6 +1,6 @@ source $BASH_ENV echo "${CODECOV_PUBLIC_PGP_KEY}" | \ - gpg --no-default-keyring --keyring trustedkeys.gpg --import + gpg --no-default-keyring --keyring trustedkeys.kbx --import # One-time step sha_url="https://cli.codecov.io" sha_url="$sha_url/${version}/${os}" From b223d8c6a022be99f7678af62d61e8c35db22cd4 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:09:05 -0700 Subject: [PATCH 03/13] fix: use codecov_version --- src/scripts/validate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/validate.sh b/src/scripts/validate.sh index 0f1275b..c7b702a 100644 --- a/src/scripts/validate.sh +++ b/src/scripts/validate.sh @@ -3,8 +3,8 @@ echo "${CODECOV_PUBLIC_PGP_KEY}" | \ gpg --no-default-keyring --keyring trustedkeys.kbx --import # One-time step sha_url="https://cli.codecov.io" -sha_url="$sha_url/${version}/${os}" -sha_url="$sha_url/${filename}.SHA256SUM" +sha_url="$sha_url/${codecov_version}/${codecov_os}" +sha_url="$sha_url/${codecov_filename}.SHA256SUM" echo "Downloading ${sha_url}" curl -Os $sha_url curl -Os $sha_url".sig" From cb2f3d3221af04c88860f80de6c756753b170961 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:09:49 -0700 Subject: [PATCH 04/13] fix: continue upload line --- src/scripts/upload.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index aaf1d8a..cee4390 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -24,4 +24,5 @@ chmod +x $codecov_filename do-upload \ -t "$(eval echo \$$PARAM_TOKEN)" \ -n "${PARAM_UPLOAD_NAME}" \ + -F "${FLAGS}" \ ${@} From 521bc50fd60a3c7eee833a2a31930ae4dec11695 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:10:54 -0700 Subject: [PATCH 05/13] fix: remove extra flag code --- src/scripts/upload.sh | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index cee4390..9adc9ec 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -6,9 +6,26 @@ chmod +x $codecov_filename set - "${@}" "-f" "${PARAM_FILE}" [ -n "${PARAM_XTRA_ARGS}" ] && \ set - "${@}" "${PARAM_XTRA_ARGS}" -[ -n "${PARAM_FLAGS}" ] && \ - set - "${@}" "-F" "${PARAM_FLAGS}" -# alpine doesn't allow for indirect expansion +[ -n "${PARAM_UPLOAD_NAME}" ] && \ + PARAM_UPLOAD_NAME="${CIRCLE_BUILD_NUM}" + +FLAGS="" +OLDIFS=$IFS;IFS=, +for flag in $PARAM_FLAGS; do + eval e="\$$flag" + for param in "${e}" "${flag}"; do + if [ -n "${param}" ]; then + if [ -n "${FLAGS}" ]; then + FLAGS="${FLAGS},${param}" + else + FLAGS="${param}" + fi + break + fi + done +done +IFS=$OLDIFS + #create commit ./"$filename" \ create-commit \ @@ -20,6 +37,7 @@ chmod +x $codecov_filename -t "$(eval echo \$$PARAM_TOKEN)" \ #upload reports +# alpine doesn't allow for indirect expansion ./"$filename" \ do-upload \ -t "$(eval echo \$$PARAM_TOKEN)" \ From 7b565d791c0d46f43c907c98862bcf17a335f2b6 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:11:24 -0700 Subject: [PATCH 06/13] fix: use codecov_filename --- src/scripts/upload.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index 9adc9ec..d639b16 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -27,18 +27,18 @@ done IFS=$OLDIFS #create commit -./"$filename" \ +./"$codecov_filename" \ create-commit \ -t "$(eval echo \$$PARAM_TOKEN)" \ #create report -./"$filename" \ +./"$codecov_filename" \ create-report \ -t "$(eval echo \$$PARAM_TOKEN)" \ #upload reports # alpine doesn't allow for indirect expansion -./"$filename" \ +./"$codecov_filename" \ do-upload \ -t "$(eval echo \$$PARAM_TOKEN)" \ -n "${PARAM_UPLOAD_NAME}" \ From 96cdcae3609865860253cd9003e7b7719188bf32 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:15:55 -0700 Subject: [PATCH 07/13] fix: use double quotes --- src/scripts/validate.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/scripts/validate.sh b/src/scripts/validate.sh index c7b702a..12db7a7 100644 --- a/src/scripts/validate.sh +++ b/src/scripts/validate.sh @@ -1,13 +1,13 @@ -source $BASH_ENV +source "$BASH_ENV" echo "${CODECOV_PUBLIC_PGP_KEY}" | \ gpg --no-default-keyring --keyring trustedkeys.kbx --import # One-time step sha_url="https://cli.codecov.io" -sha_url="$sha_url/${codecov_version}/${codecov_os}" -sha_url="$sha_url/${codecov_filename}.SHA256SUM" +sha_url="${sha_url}/${codecov_version}/${codecov_os}" +sha_url="${sha_url}/${codecov_filename}.SHA256SUM" echo "Downloading ${sha_url}" -curl -Os $sha_url -curl -Os $sha_url".sig" -gpgv $codecov_filename.SHA256SUM.sig $codecov_filename.SHA256SUM -shasum -a 256 -c $codecov_filename.SHA256SUM || \ - sha256sum -c $codecov_filename.SHA256SUM +curl -Os "$sha_url" +curl -Os "${sha_url}.sig" +gpgv "${codecov_filename}.SHA256SUM.sig" "${codecov_filename}.SHA256SUM" +shasum -a 256 -c "${codecov_filename}.SHA256SUM" || \ + sha256sum -c "${codecov_filename}.SHA256SUM" From 00fa42b0ef61d3302f0a4d2ea8436973c6ebade5 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:35:08 -0700 Subject: [PATCH 08/13] fix: update args list and remove alpine --- .circleci/test-deploy.yml | 23 ++++++++++++++--------- src/commands/upload.yml | 25 +++++++++++++++---------- src/scripts/upload.sh | 5 +++-- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/.circleci/test-deploy.yml b/.circleci/test-deploy.yml index 4744170..3efce26 100644 --- a/.circleci/test-deploy.yml +++ b/.circleci/test-deploy.yml @@ -2,7 +2,7 @@ version: 2.1 orbs: codecov: codecov/codecov@dev:alpha node: circleci/node@5 - orb-tools: circleci/orb-tools@11 + orb-tools: circleci/orb-tools@12 python: circleci/python@2 win: circleci/windows@4 @@ -56,9 +56,10 @@ jobs: - codecov/upload: flags: backend - codecov/upload: + cli_args: -v file: coverage/coverage-final.json flags: frontend - xtra_args: -v -Z + upload_args: -Z - codecov/upload: file: coverage/coverage-final.json flags: alpine @@ -77,9 +78,10 @@ jobs: - codecov/upload: flags: backend - codecov/upload: + cli_args: -v file: coverage/coverage-final.json flags: frontend - xtra_args: -v -Z + upload_args: -Z - codecov/upload: file: coverage/coverage-final.json flags: linux @@ -98,9 +100,10 @@ jobs: - codecov/upload: flags: backend - codecov/upload: + cli_args: -v file: coverage/coverage-final.json flags: frontend - xtra_args: -v -Z + upload_args: -Z - codecov/upload: file: coverage/coverage-final.json flags: macos @@ -120,9 +123,10 @@ jobs: - codecov/upload: flags: backend - codecov/upload: + cli_args: -v file: coverage/coverage-final.json flags: frontend - xtra_args: -v -Z + upload_args: -Z - codecov/upload: file: coverage/coverage-final.json flags: windows @@ -139,9 +143,10 @@ workflows: filters: *filters - test-frontend: filters: *filters - - test-alpine: - filters: *filters - requires: [test-backend, test-frontend] + +# - test-alpine: +# filters: *filters +# requires: [test-backend, test-frontend] - test-linux: filters: *filters @@ -157,7 +162,7 @@ workflows: - orb-tools/pack: filters: *filters - requires: [test-alpine, test-linux, test-macos, test-windows] + requires: [test-linux, test-macos, test-windows] - orb-tools/publish: enable-pr-comment: false diff --git a/src/commands/upload.yml b/src/commands/upload.yml index 8edf75b..bd536c4 100644 --- a/src/commands/upload.yml +++ b/src/commands/upload.yml @@ -7,6 +7,11 @@ description: | `gnupg` in order to validate. parameters: + cli_args: + description: Any extra arguments provided to the CLI the CLI + (e.g. `-v`). + type: string + default: "" file: description: Path to the code coverage data file to upload. type: string @@ -26,24 +31,23 @@ parameters: description: Custom defined name of the upload. Visible in Codecov UI type: string default: "" + upload_args: + description: Any extra flags as provided to the `do-upload` step of the CLI + type: string + default: "" validate: description: Validate the uploader before uploading the codecov result. type: boolean default: true - when: - description: When should this step run? - type: string - default: "always" - xtra_args: - description: Any extra flags as provided by the universal uploader - (e.g. `-v -Z`). - type: string - default: "" version: description: Which version of the Codecov Uploader to use (defaults to 'latest') type: string default: "latest" + when: + description: When should this step run? + type: string + default: "always" steps: - run: @@ -64,8 +68,9 @@ steps: name: Upload Coverage Results command: <> environment: + PARAM_CLI_ARGS: << parameters.cli_args >> PARAM_FILE: << parameters.file >> PARAM_FLAGS: << parameters.flags >> PARAM_TOKEN: << parameters.token >> + PARAM_UPLOAD_ARGS: << parameters.upload_args >> PARAM_UPLOAD_NAME: << parameters.upload_name >> - PARAM_XTRA_ARGS: << parameters.xtra_args >> diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index d639b16..3790d93 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -4,8 +4,8 @@ source $BASH_ENV chmod +x $codecov_filename [ -n "${PARAM_FILE}" ] && \ set - "${@}" "-f" "${PARAM_FILE}" -[ -n "${PARAM_XTRA_ARGS}" ] && \ - set - "${@}" "${PARAM_XTRA_ARGS}" +[ -n "${PARAM_UPLOAD_ARGS}" ] && \ + set - "${@}" "${PARAM_UPLOAD_ARGS}" [ -n "${PARAM_UPLOAD_NAME}" ] && \ PARAM_UPLOAD_NAME="${CIRCLE_BUILD_NUM}" @@ -39,6 +39,7 @@ IFS=$OLDIFS #upload reports # alpine doesn't allow for indirect expansion ./"$codecov_filename" \ + \$$PARAM_UPLOAD_ARGS \ do-upload \ -t "$(eval echo \$$PARAM_TOKEN)" \ -n "${PARAM_UPLOAD_NAME}" \ From bbac1476a81bd05081cccc5e4971f7926d520c34 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:36:45 -0700 Subject: [PATCH 09/13] fix: orb-tools 11 --- .circleci/test-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/test-deploy.yml b/.circleci/test-deploy.yml index 3efce26..a908604 100644 --- a/.circleci/test-deploy.yml +++ b/.circleci/test-deploy.yml @@ -2,7 +2,7 @@ version: 2.1 orbs: codecov: codecov/codecov@dev:alpha node: circleci/node@5 - orb-tools: circleci/orb-tools@12 + orb-tools: circleci/orb-tools@11 python: circleci/python@2 win: circleci/windows@4 From e301a65bae2e6f2925e09c695736503a9a9ee4eb Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:42:08 -0700 Subject: [PATCH 10/13] fix: use a real cli version --- .circleci/test-deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/test-deploy.yml b/.circleci/test-deploy.yml index a908604..c3c51dc 100644 --- a/.circleci/test-deploy.yml +++ b/.circleci/test-deploy.yml @@ -63,7 +63,7 @@ jobs: - codecov/upload: file: coverage/coverage-final.json flags: alpine - version: v0.1.0_8880 + version: v0.2.2 - codecov/upload: flags: string_flag,ENV_VAR_CONTAINING_FLAG environment: @@ -85,7 +85,7 @@ jobs: - codecov/upload: file: coverage/coverage-final.json flags: linux - version: v0.1.0_8880 + version: v0.2.2 - codecov/upload: flags: string_flag,ENV_VAR_CONTAINING_FLAG environment: @@ -107,7 +107,7 @@ jobs: - codecov/upload: file: coverage/coverage-final.json flags: macos - version: v0.1.0_8880 + version: v0.2.2 - codecov/upload: flags: string_flag,ENV_VAR_CONTAINING_FLAG environment: @@ -130,7 +130,7 @@ jobs: - codecov/upload: file: coverage/coverage-final.json flags: windows - version: v0.1.0_8880 + version: v0.2.2 - codecov/upload: flags: string_flag,ENV_VAR_CONTAINING_FLAG environment: From 387cedc9c36e58db4f0cceff3d27a6e7c4aebf0c Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:44:55 -0700 Subject: [PATCH 11/13] test: logging --- src/scripts/upload.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index 3790d93..21eab90 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -1,4 +1,5 @@ unset NODE_OPTIONS +set +x # See https://github.com/codecov/uploader/issues/475 source $BASH_ENV chmod +x $codecov_filename From 65168d7d7627fd5c389564eec43acba75536b863 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:48:31 -0700 Subject: [PATCH 12/13] fix: use current instead of stable --- .circleci/test-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/test-deploy.yml b/.circleci/test-deploy.yml index c3c51dc..6e40532 100644 --- a/.circleci/test-deploy.yml +++ b/.circleci/test-deploy.yml @@ -70,7 +70,7 @@ jobs: ENV_VAR_CONTAINING_FLAG: env_var_flag test-linux: docker: - - image: cimg/base:stable + - image: cimg/base:current steps: - checkout - attach_workspace: From 394766a641d44afb7707f55a609a4118a5cd3767 Mon Sep 17 00:00:00 2001 From: Tom Hu Date: Wed, 13 Sep 2023 18:50:59 -0700 Subject: [PATCH 13/13] test: remove logging --- src/scripts/upload.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scripts/upload.sh b/src/scripts/upload.sh index 21eab90..3790d93 100755 --- a/src/scripts/upload.sh +++ b/src/scripts/upload.sh @@ -1,5 +1,4 @@ unset NODE_OPTIONS -set +x # See https://github.com/codecov/uploader/issues/475 source $BASH_ENV chmod +x $codecov_filename