From 596fe93db8d5504df564ffe7c45d4104d4fe2d59 Mon Sep 17 00:00:00 2001 From: Joseph Sawaya Date: Thu, 17 Apr 2025 15:14:31 -0400 Subject: [PATCH 1/2] feat: allow for config of which CLI to use --- dist/codecov.sh | 17 +++++++++++------ env | 1 + scripts/download.sh | 11 ++++++----- scripts/set_defaults.sh | 7 +++++++ scripts/validate.sh | 4 ++-- 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/dist/codecov.sh b/dist/codecov.sh index 4b5320b..1bbb669 100755 --- a/dist/codecov.sh +++ b/dist/codecov.sh @@ -49,6 +49,11 @@ say " _____ _ \\_____\\___/ \\__,_|\\___|\\___\\___/ \\_/ $r Wrapper-$CODECOV_WRAPPER_VERSION$x " +CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov"} +if [[ "$CODECOV_CLI_TYPE" != "codecov" && "$CODECOV_CLI_TYPE" != "prevent" ]]; then + echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov' or 'prevent'" + exit 1 +fi if [ -n "$CODECOV_BINARY" ]; then if [ -f "$CODECOV_BINARY" ]; @@ -60,11 +65,11 @@ then fi elif [ "$CODECOV_USE_PYPI" == "true" ]; then - if ! pip install codecov-cli"$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION" )"; then + if ! pip install "${CODECOV_CLI_TYPE}-cli$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then exit_if_error "Could not install via pypi." exit fi - CODECOV_COMMAND="codecovcli" +CODECOV_COMMAND="${CODECOV_CLI_TYPE}cli" else if [ -n "$CODECOV_OS" ]; then @@ -80,8 +85,8 @@ else [[ $(arch) == "aarch64" && $family == "linux" ]] && CODECOV_OS+="-arm64" say "$g==>$x Detected $b${CODECOV_OS}$x" fi - CODECOV_FILENAME="codecov" - [[ $CODECOV_OS == "windows" ]] && CODECOV_FILENAME+=".exe" + CODECOV_FILENAME="${CODECOV_CLI_TYPE}" + [[ $CODECOV_OS == "windows" ]] && codecov_filename+=".exe" CODECOV_COMMAND="./$CODECOV_FILENAME" [[ $CODECOV_OS == "macos" ]] && \ ! command -v gpg 2>&1 >/dev/null && \ @@ -129,11 +134,11 @@ fi if [ -n "$CODECOV_BINARY_LOCATION" ]; then mkdir -p "$CODECOV_BINARY_LOCATION" && mv "$CODECOV_FILENAME" $_ - say "$g==>$x Codecov binary moved to ${CODECOV_BINARY_LOCATION}" + say "$g==>$x ${CODECOV_CLI_TYPE} binary moved to ${CODECOV_BINARY_LOCATION}" fi if [ "$CODECOV_DOWNLOAD_ONLY" = "true" ]; then - say "$g==>$x Codecov download only called. Exiting..." + say "$g==>$x ${CODECOV_CLI_TYPE} download only called. Exiting..." fi CODECOV_CLI_ARGS=() CODECOV_CLI_ARGS+=( $(k_arg AUTO_LOAD_PARAMS_FROM) $(v_arg AUTO_LOAD_PARAMS_FROM)) diff --git a/env b/env index fd6236e..4ae701c 100644 --- a/env +++ b/env @@ -3,6 +3,7 @@ CODECOV_ARGS CODECOV_BINARY CODECOV_BINARY_LOCATION CODECOV_CLI_ARGS +CODECOV_CLI_TYPE CODECOV_COMMAND CODECOV_DOWNLOAD_ONLY CODECOV_EXCLUDES diff --git a/scripts/download.sh b/scripts/download.sh index 10723df..7ced974 100755 --- a/scripts/download.sh +++ b/scripts/download.sh @@ -11,11 +11,12 @@ then fi elif [ "$CODECOV_USE_PYPI" == "true" ]; then - if ! pip install codecov-cli"$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION" )"; then + if ! pip install "${CODECOV_CLI_TYPE}-cli$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then exit_if_error "Could not install via pypi." exit fi - CODECOV_COMMAND="codecovcli" + +CODECOV_COMMAND="${CODECOV_CLI_TYPE}cli" else if [ -n "$CODECOV_OS" ]; then @@ -32,9 +33,9 @@ else say "$g==>$x Detected $b${CODECOV_OS}$x" fi - CODECOV_FILENAME="codecov" - [[ $CODECOV_OS == "windows" ]] && CODECOV_FILENAME+=".exe" - CODECOV_COMMAND="./$CODECOV_FILENAME" + CODECOV_FILENAME="${CODECOV_CLI_TYPE}" + [[ $CODECOV_OS == "windows" ]] && codecov_filename+=".exe" + codecov_command="./$CODECOV_FILENAME" [[ $CODECOV_OS == "macos" ]] && \ ! command -v gpg 2>&1 >/dev/null && \ HOMEBREW_NO_AUTO_UPDATE=1 brew install gpg diff --git a/scripts/set_defaults.sh b/scripts/set_defaults.sh index eecaa10..8f0cc39 100755 --- a/scripts/set_defaults.sh +++ b/scripts/set_defaults.sh @@ -13,3 +13,10 @@ say " _____ _ \\_____\\___/ \\__,_|\\___|\\___\\___/ \\_/ $r Wrapper-$CODECOV_WRAPPER_VERSION$x " + +CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov"} + +if [[ "$CODECOV_CLI_TYPE" != "codecov" && "$CODECOV_CLI_TYPE" != "prevent" ]]; then + echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov' or 'prevent'" + exit 1 +fi diff --git a/scripts/validate.sh b/scripts/validate.sh index bc4a328..f39517f 100755 --- a/scripts/validate.sh +++ b/scripts/validate.sh @@ -36,10 +36,10 @@ fi if [ -n "$CODECOV_BINARY_LOCATION" ]; then mkdir -p "$CODECOV_BINARY_LOCATION" && mv "$CODECOV_FILENAME" $_ - say "$g==>$x Codecov binary moved to ${CODECOV_BINARY_LOCATION}" + say "$g==>$x ${CODECOV_CLI_TYPE} binary moved to ${CODECOV_BINARY_LOCATION}" fi if [ "$CODECOV_DOWNLOAD_ONLY" = "true" ]; then - say "$g==>$x Codecov download only called. Exiting..." + say "$g==>$x ${CODECOV_CLI_TYPE} download only called. Exiting..." fi From 35faf6a6f45db081a1cf511bcb7cd363997d62d8 Mon Sep 17 00:00:00 2001 From: Joseph Sawaya Date: Thu, 17 Apr 2025 15:14:31 -0400 Subject: [PATCH 2/2] fix: address feedback --- dist/codecov.sh | 14 +++++++------- scripts/download.sh | 11 +++++------ scripts/set_defaults.sh | 7 +++---- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/dist/codecov.sh b/dist/codecov.sh index 1bbb669..e446731 100755 --- a/dist/codecov.sh +++ b/dist/codecov.sh @@ -41,6 +41,7 @@ CODECOV_WRAPPER_VERSION="0.2.6" CODECOV_VERSION="${CODECOV_VERSION:-latest}" CODECOV_FAIL_ON_ERROR="${CODECOV_FAIL_ON_ERROR:-false}" CODECOV_RUN_CMD="${CODECOV_RUN_CMD:-upload-coverage}" +CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov-cli"} say " _____ _ / ____| | | | | ___ __| | ___ ___ _____ __ @@ -49,9 +50,8 @@ say " _____ _ \\_____\\___/ \\__,_|\\___|\\___\\___/ \\_/ $r Wrapper-$CODECOV_WRAPPER_VERSION$x " -CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov"} -if [[ "$CODECOV_CLI_TYPE" != "codecov" && "$CODECOV_CLI_TYPE" != "prevent" ]]; then - echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov' or 'prevent'" +if [[ "$CODECOV_CLI_TYPE" != "codecov-cli" && "$CODECOV_CLI_TYPE" != "sentry-prevent-cli" ]]; then + echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov-cli' or 'sentry-prevent-cli'" exit 1 fi if [ -n "$CODECOV_BINARY" ]; @@ -65,11 +65,11 @@ then fi elif [ "$CODECOV_USE_PYPI" == "true" ]; then - if ! pip install "${CODECOV_CLI_TYPE}-cli$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then + if ! pip install "${CODECOV_CLI_TYPE}$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then exit_if_error "Could not install via pypi." exit fi -CODECOV_COMMAND="${CODECOV_CLI_TYPE}cli" + CODECOV_COMMAND="${CODECOV_CLI_TYPE}" else if [ -n "$CODECOV_OS" ]; then @@ -85,8 +85,8 @@ else [[ $(arch) == "aarch64" && $family == "linux" ]] && CODECOV_OS+="-arm64" say "$g==>$x Detected $b${CODECOV_OS}$x" fi - CODECOV_FILENAME="${CODECOV_CLI_TYPE}" - [[ $CODECOV_OS == "windows" ]] && codecov_filename+=".exe" + CODECOV_FILENAME="${CODECOV_CLI_TYPE%-cli}" + [[ $CODECOV_OS == "windows" ]] && CODECOV_FILENAME+=".exe" CODECOV_COMMAND="./$CODECOV_FILENAME" [[ $CODECOV_OS == "macos" ]] && \ ! command -v gpg 2>&1 >/dev/null && \ diff --git a/scripts/download.sh b/scripts/download.sh index 7ced974..50ea8ca 100755 --- a/scripts/download.sh +++ b/scripts/download.sh @@ -11,12 +11,11 @@ then fi elif [ "$CODECOV_USE_PYPI" == "true" ]; then - if ! pip install "${CODECOV_CLI_TYPE}-cli$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then + if ! pip install "${CODECOV_CLI_TYPE}$([ "$CODECOV_VERSION" == "latest" ] && echo "" || echo "==$CODECOV_VERSION")"; then exit_if_error "Could not install via pypi." exit fi - -CODECOV_COMMAND="${CODECOV_CLI_TYPE}cli" + CODECOV_COMMAND="${CODECOV_CLI_TYPE}" else if [ -n "$CODECOV_OS" ]; then @@ -33,9 +32,9 @@ else say "$g==>$x Detected $b${CODECOV_OS}$x" fi - CODECOV_FILENAME="${CODECOV_CLI_TYPE}" - [[ $CODECOV_OS == "windows" ]] && codecov_filename+=".exe" - codecov_command="./$CODECOV_FILENAME" + CODECOV_FILENAME="${CODECOV_CLI_TYPE%-cli}" + [[ $CODECOV_OS == "windows" ]] && CODECOV_FILENAME+=".exe" + CODECOV_COMMAND="./$CODECOV_FILENAME" [[ $CODECOV_OS == "macos" ]] && \ ! command -v gpg 2>&1 >/dev/null && \ HOMEBREW_NO_AUTO_UPDATE=1 brew install gpg diff --git a/scripts/set_defaults.sh b/scripts/set_defaults.sh index 8f0cc39..64c9352 100755 --- a/scripts/set_defaults.sh +++ b/scripts/set_defaults.sh @@ -4,6 +4,7 @@ CODECOV_WRAPPER_VERSION="0.2.6" CODECOV_VERSION="${CODECOV_VERSION:-latest}" CODECOV_FAIL_ON_ERROR="${CODECOV_FAIL_ON_ERROR:-false}" CODECOV_RUN_CMD="${CODECOV_RUN_CMD:-upload-coverage}" +CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov-cli"} say " _____ _ / ____| | | @@ -14,9 +15,7 @@ say " _____ _ $r Wrapper-$CODECOV_WRAPPER_VERSION$x " -CODECOV_CLI_TYPE=${CODECOV_CLI_TYPE:-"codecov"} - -if [[ "$CODECOV_CLI_TYPE" != "codecov" && "$CODECOV_CLI_TYPE" != "prevent" ]]; then - echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov' or 'prevent'" +if [[ "$CODECOV_CLI_TYPE" != "codecov-cli" && "$CODECOV_CLI_TYPE" != "sentry-prevent-cli" ]]; then + echo "Invalid CODECOV_CLI_TYPE: '$CODECOV_CLI_TYPE'. Must be 'codecov-cli' or 'sentry-prevent-cli'" exit 1 fi