mirror of
https://github.com/codecov/codecov-action.git
synced 2026-09-27 05:16:55 +00:00
Compare commits
5 Commits
main
...
th/add-rep
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a29773d27 | ||
|
|
2b9e5e4a9c | ||
|
|
4815464734 | ||
|
|
2b3bd7f752 | ||
|
|
4fe6a9bdcd |
14
.github/workflows/enforce-license-compliance.yml
vendored
Normal file
14
.github/workflows/enforce-license-compliance.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
name: Enforce License Compliance
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
enforce-license-compliance:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: 'Enforce License Compliance'
|
||||||
|
uses: getsentry/action-enforce-license-compliance@57ba820387a1a9315a46115ee276b2968da51f3d # main
|
||||||
|
with:
|
||||||
|
fossa_api_key: ${{ secrets.FOSSA_API_KEY }}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
## v5.5.2
|
## v5.6.0
|
||||||
|
|
||||||
### What's Changed
|
### What's Changed
|
||||||
|
|
||||||
|
|
||||||
**Full Changelog**: https://github.com/codecov/codecov-action/compare/v5.5.1..v5.5.2
|
**Full Changelog**: https://github.com/codecov/codecov-action/compare/v5.5.1..v5.6.0
|
||||||
|
|
||||||
|
|
||||||
## v5.5.1
|
## v5.5.1
|
||||||
|
|||||||
6
Makefile
6
Makefile
@@ -1,7 +1,7 @@
|
|||||||
deploy:
|
deploy:
|
||||||
$(eval VERSION := $(shell cat src/version))
|
$(eval VERSION := $(shell cat src/version))
|
||||||
git tag -d v7
|
git tag -d v5
|
||||||
git push origin :v7
|
git push origin :v5
|
||||||
git tag v7
|
git tag v5
|
||||||
git tag v$(VERSION) -s -m ""
|
git tag v$(VERSION) -s -m ""
|
||||||
git push origin --tags
|
git push origin --tags
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -6,14 +6,6 @@
|
|||||||
|
|
||||||
### Easily upload coverage reports to Codecov from GitHub Actions
|
### Easily upload coverage reports to Codecov from GitHub Actions
|
||||||
|
|
||||||
## v7 Release
|
|
||||||
|
|
||||||
`v7` of the Codecov GitHub Action bumps the [Codecov Wrapper](https://github.com/codecov/wrapper) submodule, which now fetches the Codecov Uploader PGP verification key from the `codecovsecops` Keybase account.
|
|
||||||
|
|
||||||
## v6 Release
|
|
||||||
|
|
||||||
`v6` of the Codecov GitHub Action support node24
|
|
||||||
|
|
||||||
## v5 Release
|
## v5 Release
|
||||||
|
|
||||||
`v5` of the Codecov GitHub Action will use the [Codecov Wrapper](https://github.com/codecov/wrapper) to encapsulate the [CLI](https://github.com/codecov/codecov-cli). This will help ensure that the Action gets updates quicker.
|
`v5` of the Codecov GitHub Action will use the [Codecov Wrapper](https://github.com/codecov/wrapper) to encapsulate the [CLI](https://github.com/codecov/codecov-cli). This will help ensure that the Action gets updates quicker.
|
||||||
@@ -137,10 +129,10 @@ Codecov's Action supports inputs from the user. These inputs, along with their d
|
|||||||
| :--- | :--- | :---: |
|
| :--- | :--- | :---: |
|
||||||
| `base_sha` | 'The base SHA to select. This is only used in the "pr-base-picking" run command' | Optional
|
| `base_sha` | 'The base SHA to select. This is only used in the "pr-base-picking" run command' | Optional
|
||||||
| `binary` | The file location of a pre-downloaded version of the CLI. If specified, integrity checking will be bypassed. | Optional
|
| `binary` | The file location of a pre-downloaded version of the CLI. If specified, integrity checking will be bypassed. | Optional
|
||||||
| `cleanup` | If true, download the CLI into a temporary directory and clean it up after the run. Off by default. | Optional
|
|
||||||
| `codecov_yml_path` | The location of the codecov.yml file. This is currently ONLY used for automated test selection (https://docs.codecov.com/docs/getting-started-with-ats). Note that for all other cases, the Codecov yaml will need to be located as described here: https://docs.codecov.com/docs/codecov-yaml#can-i-name-the-file-codecovyml | Optional
|
| `codecov_yml_path` | The location of the codecov.yml file. This is currently ONLY used for automated test selection (https://docs.codecov.com/docs/getting-started-with-ats). Note that for all other cases, the Codecov yaml will need to be located as described here: https://docs.codecov.com/docs/codecov-yaml#can-i-name-the-file-codecovyml | Optional
|
||||||
| `commit_parent` | SHA (with 40 chars) of what should be the parent of this commit. | Optional
|
| `commit_parent` | SHA (with 40 chars) of what should be the parent of this commit. | Optional
|
||||||
| `directory` | Folder to search for coverage files. Default to the current working directory | Optional
|
| `directory` | Folder to search for coverage files. Default to the current working directory | Optional
|
||||||
|
| `disable_checkout` | Disable checking out the repository. This is not recommended as it can cause unwanted side effects in coverage processing | Optional
|
||||||
| `disable_file_fixes` | Disable file fixes to ignore common lines from coverage (e.g. blank lines or empty brackets). Read more here https://docs.codecov.com/docs/fixing-reports | Optional
|
| `disable_file_fixes` | Disable file fixes to ignore common lines from coverage (e.g. blank lines or empty brackets). Read more here https://docs.codecov.com/docs/fixing-reports | Optional
|
||||||
| `disable_search` | Disable search for coverage files. This is helpful when specifying what files you want to upload with the files option. | Optional
|
| `disable_search` | Disable search for coverage files. This is helpful when specifying what files you want to upload with the files option. | Optional
|
||||||
| `disable_safe_directory` | Disable setting safe directory. Set to true to disable. | Optional
|
| `disable_safe_directory` | Disable setting safe directory. Set to true to disable. | Optional
|
||||||
@@ -149,7 +141,7 @@ Codecov's Action supports inputs from the user. These inputs, along with their d
|
|||||||
| `env_vars` | Environment variables to tag the upload with (e.g. PYTHON \| OS,PYTHON) | Optional
|
| `env_vars` | Environment variables to tag the upload with (e.g. PYTHON \| OS,PYTHON) | Optional
|
||||||
| `exclude` | Comma-separated list of folders to exclude from search. | Optional
|
| `exclude` | Comma-separated list of folders to exclude from search. | Optional
|
||||||
| `fail_ci_if_error` | On error, exit with non-zero code | Optional
|
| `fail_ci_if_error` | On error, exit with non-zero code | Optional
|
||||||
| `files` | Comma-separated explicit list of files to upload. These will be added to the coverage files found for upload. If you wish to only upload the specified files, please consider using "disable_search" to disable uploading other files. | Optional
|
| `files` | Comma-separated explicit list of files to upload. These will be added to the coverage files found for upload. If you wish to only upload the specified files, please consider using "disable-search" to disable uploading other files. | Optional
|
||||||
| `flags` | Comma-separated list of flags to upload to group coverage metrics. | Optional
|
| `flags` | Comma-separated list of flags to upload to group coverage metrics. | Optional
|
||||||
| `force` | Only used for empty-upload run command | Optional
|
| `force` | Only used for empty-upload run command | Optional
|
||||||
| `git_service` | Override the git_service (e.g. github_enterprise) | Optional
|
| `git_service` | Override the git_service (e.g. github_enterprise) | Optional
|
||||||
|
|||||||
57
action.yml
57
action.yml
@@ -10,10 +10,6 @@ inputs:
|
|||||||
binary:
|
binary:
|
||||||
description: 'The file location of a pre-downloaded version of the CLI. If specified, integrity checking will be bypassed.'
|
description: 'The file location of a pre-downloaded version of the CLI. If specified, integrity checking will be bypassed.'
|
||||||
required: false
|
required: false
|
||||||
cleanup:
|
|
||||||
description: 'If true, download the CLI into a temporary directory and clean it up after the run. Off by default to preserve legacy behavior of downloading into the current working directory.'
|
|
||||||
required: false
|
|
||||||
default: 'false'
|
|
||||||
codecov_yml_path:
|
codecov_yml_path:
|
||||||
description: 'The location of the codecov.yml file. This is crrently ONLY used for automated test selection (https://docs.codecov.com/docs/getting-started-with-ats). Note that for all other cases, the Codecov yaml will need to be located as described here: https://docs.codecov.com/docs/codecov-yaml#can-i-name-the-file-codecovyml'
|
description: 'The location of the codecov.yml file. This is crrently ONLY used for automated test selection (https://docs.codecov.com/docs/getting-started-with-ats). Note that for all other cases, the Codecov yaml will need to be located as described here: https://docs.codecov.com/docs/codecov-yaml#can-i-name-the-file-codecovyml'
|
||||||
required: false
|
required: false
|
||||||
@@ -23,6 +19,10 @@ inputs:
|
|||||||
directory:
|
directory:
|
||||||
description: 'Folder to search for coverage files. Default to the current working directory'
|
description: 'Folder to search for coverage files. Default to the current working directory'
|
||||||
required: false
|
required: false
|
||||||
|
disable_checkout:
|
||||||
|
description: 'Disable checking out the repository. This is not recommended as it can cause unwanted side effects in coverage processing'
|
||||||
|
required: false
|
||||||
|
default: 'false'
|
||||||
disable_file_fixes:
|
disable_file_fixes:
|
||||||
description: 'Disable file fixes to ignore common lines from coverage (e.g. blank lines or empty brackets). Read more here https://docs.codecov.com/docs/fixing-reports'
|
description: 'Disable file fixes to ignore common lines from coverage (e.g. blank lines or empty brackets). Read more here https://docs.codecov.com/docs/fixing-reports'
|
||||||
required: false
|
required: false
|
||||||
@@ -54,7 +54,7 @@ inputs:
|
|||||||
required: false
|
required: false
|
||||||
default: 'false'
|
default: 'false'
|
||||||
files:
|
files:
|
||||||
description: 'Comma-separated list of explicit files to upload. These will be added to the coverage files found for upload. If you wish to only upload the specified files, please consider using disable_search to disable uploading other files.'
|
description: 'Comma-separated list of explicit files to upload. These will be added to the coverage files found for upload. If you wish to only upload the specified files, please consider using disable-search to disable uploading other files.'
|
||||||
required: false
|
required: false
|
||||||
flags:
|
flags:
|
||||||
description: 'Comma-separated list of flags to upload to group coverage metrics.'
|
description: 'Comma-separated list of flags to upload to group coverage metrics.'
|
||||||
@@ -181,25 +181,16 @@ runs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Check system dependencies
|
- name: Check system dependencies
|
||||||
shell: sh
|
shell: sh
|
||||||
env:
|
|
||||||
INPUT_SKIP_VALIDATION: ${{ inputs.skip_validation }}
|
|
||||||
run: |
|
run: |
|
||||||
missing_deps=""
|
missing_deps=""
|
||||||
|
|
||||||
# Check for always-required commands
|
# Check for required commands
|
||||||
for cmd in bash git curl; do
|
for cmd in bash git curl gpg; do
|
||||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||||
missing_deps="$missing_deps $cmd"
|
missing_deps="$missing_deps $cmd"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check for gpg only if validation is not being skipped
|
|
||||||
if [ "$INPUT_SKIP_VALIDATION" != "true" ]; then
|
|
||||||
if ! command -v gpg >/dev/null 2>&1; then
|
|
||||||
missing_deps="$missing_deps gpg"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Report missing required dependencies
|
# Report missing required dependencies
|
||||||
if [ -n "$missing_deps" ]; then
|
if [ -n "$missing_deps" ]; then
|
||||||
echo "Error: The following required dependencies are missing:$missing_deps"
|
echo "Error: The following required dependencies are missing:$missing_deps"
|
||||||
@@ -213,6 +204,24 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
CC_ACTION_VERSION=$(cat ${GITHUB_ACTION_PATH}/src/version)
|
CC_ACTION_VERSION=$(cat ${GITHUB_ACTION_PATH}/src/version)
|
||||||
echo -e "\033[0;32m==>\033[0m Running Action version $CC_ACTION_VERSION"
|
echo -e "\033[0;32m==>\033[0m Running Action version $CC_ACTION_VERSION"
|
||||||
|
|
||||||
|
- name: Check if repository is checked out
|
||||||
|
id: check_repo
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [ -d ".git" ]; then
|
||||||
|
echo "Repository is checked out."
|
||||||
|
echo "repo_checked_out=true" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "Repository is NOT checked out."
|
||||||
|
echo "repo_checked_out=false" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
- name: Checkout repository
|
||||||
|
if: ${{ steps.check_repo.outputs.repo_checked_out == 'false' && inputs.disable_checkout != 'true' }}
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
with:
|
||||||
|
fetch-depth: 2
|
||||||
|
|
||||||
- name: Set safe directory
|
- name: Set safe directory
|
||||||
if: ${{ inputs.disable_safe_directory != 'true' }}
|
if: ${{ inputs.disable_safe_directory != 'true' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -236,7 +245,7 @@ runs:
|
|||||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||||
|
|
||||||
- name: Get OIDC token
|
- name: Get OIDC token
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
id: oidc
|
id: oidc
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
@@ -251,27 +260,24 @@ runs:
|
|||||||
- name: Get and set token
|
- name: Get and set token
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
if [ "$INPUT_USE_OIDC" == 'true' ] && [ "$CC_FORK" != 'true' ];
|
if [ "${{ inputs.use_oidc }}" == 'true' ] && [ "$CC_FORK" != 'true' ];
|
||||||
then
|
then
|
||||||
echo "CC_TOKEN=$CC_OIDC_TOKEN" >> "$GITHUB_ENV"
|
echo "CC_TOKEN=$CC_OIDC_TOKEN" >> "$GITHUB_ENV"
|
||||||
elif [ -n "$INPUT_CODECOV_TOKEN" ];
|
elif [ -n "${{ env.CODECOV_TOKEN }}" ];
|
||||||
then
|
then
|
||||||
echo -e "\033[0;32m==>\033[0m Token set from env"
|
echo -e "\033[0;32m==>\033[0m Token set from env"
|
||||||
echo "CC_TOKEN=$INPUT_CODECOV_TOKEN" >> "$GITHUB_ENV"
|
echo "CC_TOKEN=${{ env.CODECOV_TOKEN }}" >> "$GITHUB_ENV"
|
||||||
else
|
else
|
||||||
if [ -n "$INPUT_TOKEN" ];
|
if [ -n "${{ inputs.token }}" ];
|
||||||
then
|
then
|
||||||
echo -e "\033[0;32m==>\033[0m Token set from input"
|
echo -e "\033[0;32m==>\033[0m Token set from input"
|
||||||
CC_TOKEN=$(echo "$INPUT_TOKEN" | tr -d '\n')
|
CC_TOKEN=$(echo "${{ inputs.token }}" | tr -d '\n')
|
||||||
echo "CC_TOKEN=$CC_TOKEN" >> "$GITHUB_ENV"
|
echo "CC_TOKEN=$CC_TOKEN" >> "$GITHUB_ENV"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
env:
|
env:
|
||||||
CC_OIDC_TOKEN: ${{ steps.oidc.outputs.result }}
|
CC_OIDC_TOKEN: ${{ steps.oidc.outputs.result }}
|
||||||
CC_OIDC_AUDIENCE: ${{ inputs.url || 'https://codecov.io' }}
|
CC_OIDC_AUDIENCE: ${{ inputs.url || 'https://codecov.io' }}
|
||||||
INPUT_USE_OIDC: ${{ inputs.use_oidc }}
|
|
||||||
INPUT_TOKEN: ${{ inputs.token }}
|
|
||||||
INPUT_CODECOV_TOKEN: ${{ env.CODECOV_TOKEN }}
|
|
||||||
|
|
||||||
- name: Override branch for forks
|
- name: Override branch for forks
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -321,7 +327,6 @@ runs:
|
|||||||
CC_BINARY: ${{ inputs.binary }}
|
CC_BINARY: ${{ inputs.binary }}
|
||||||
CC_BUILD: ${{ inputs.override_build }}
|
CC_BUILD: ${{ inputs.override_build }}
|
||||||
CC_BUILD_URL: ${{ inputs.override_build_url }}
|
CC_BUILD_URL: ${{ inputs.override_build_url }}
|
||||||
CC_CLEANUP: ${{ inputs.cleanup }}
|
|
||||||
CC_CODE: ${{ inputs.report_code }}
|
CC_CODE: ${{ inputs.report_code }}
|
||||||
CC_DIR: ${{ inputs.directory }}
|
CC_DIR: ${{ inputs.directory }}
|
||||||
CC_DISABLE_FILE_FIXES: ${{ inputs.disable_file_fixes }}
|
CC_DISABLE_FILE_FIXES: ${{ inputs.disable_file_fixes }}
|
||||||
|
|||||||
64
dist/codecov.sh
vendored
64
dist/codecov.sh
vendored
@@ -37,12 +37,11 @@ g="\033[0;32m" # info/debug
|
|||||||
r="\033[0;31m" # errors
|
r="\033[0;31m" # errors
|
||||||
x="\033[0m"
|
x="\033[0m"
|
||||||
retry="--retry 5 --retry-delay 2"
|
retry="--retry 5 --retry-delay 2"
|
||||||
CC_WRAPPER_VERSION="0.3.1"
|
CC_WRAPPER_VERSION="0.2.7"
|
||||||
CC_VERSION="${CC_VERSION:-latest}"
|
CC_VERSION="${CC_VERSION:-latest}"
|
||||||
CC_FAIL_ON_ERROR="${CC_FAIL_ON_ERROR:-false}"
|
CC_FAIL_ON_ERROR="${CC_FAIL_ON_ERROR:-false}"
|
||||||
CC_RUN_CMD="${CC_RUN_CMD:-upload-coverage}"
|
CC_RUN_CMD="${CC_RUN_CMD:-upload-coverage}"
|
||||||
CC_CLI_TYPE=${CC_CLI_TYPE:-"codecov-cli"}
|
CC_CLI_TYPE=${CC_CLI_TYPE:-"codecov-cli"}
|
||||||
CC_CLEANUP="${CC_CLEANUP:-false}"
|
|
||||||
say " _____ _
|
say " _____ _
|
||||||
/ ____| | |
|
/ ____| | |
|
||||||
| | ___ __| | ___ ___ _____ __
|
| | ___ __| | ___ ___ _____ __
|
||||||
@@ -64,28 +63,14 @@ then
|
|||||||
else
|
else
|
||||||
exit_if_error "Could not find binary file $CC_BINARY"
|
exit_if_error "Could not find binary file $CC_BINARY"
|
||||||
fi
|
fi
|
||||||
elif [ "$CC_USE_PYPI" == "true" ] || [ "$CC_USE_PYPI" == "1" ];
|
elif [ "$CC_USE_PYPI" == "true" ];
|
||||||
then
|
then
|
||||||
if ! pip install "${CC_CLI_TYPE}$([ "$CC_VERSION" == "latest" ] && echo "" || echo "==$CC_VERSION")"; then
|
if ! pip install "${CC_CLI_TYPE}$([ "$CC_VERSION" == "latest" ] && echo "" || echo "==$CC_VERSION")"; then
|
||||||
exit_if_error "Could not install via pypi."
|
exit_if_error "Could not install via pypi."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [[ "$CC_CLI_TYPE" == "codecov-cli" ]]; then
|
CC_COMMAND="${CC_CLI_TYPE}"
|
||||||
CC_COMMAND="codecovcli"
|
|
||||||
elif [[ "$CC_CLI_TYPE" == "sentry-prevent-cli" ]]; then
|
|
||||||
CC_COMMAND="sentry-prevent-cli"
|
|
||||||
else
|
|
||||||
CC_COMMAND="${CC_CLI_TYPE}"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
CC_DOWNLOAD_DIR="."
|
|
||||||
if [ "$CC_CLEANUP" == "true" ]; then
|
|
||||||
CC_DOWNLOAD_DIR=$(mktemp -d)
|
|
||||||
cleanup_downloads() {
|
|
||||||
rm -rf "$CC_DOWNLOAD_DIR"
|
|
||||||
}
|
|
||||||
trap cleanup_downloads EXIT
|
|
||||||
fi
|
|
||||||
if [ -n "$CC_OS" ];
|
if [ -n "$CC_OS" ];
|
||||||
then
|
then
|
||||||
say "$g==>$x Overridden OS: $b${CC_OS}$x"
|
say "$g==>$x Overridden OS: $b${CC_OS}$x"
|
||||||
@@ -102,7 +87,7 @@ else
|
|||||||
fi
|
fi
|
||||||
CC_FILENAME="${CC_CLI_TYPE%-cli}"
|
CC_FILENAME="${CC_CLI_TYPE%-cli}"
|
||||||
[[ $CC_OS == "windows" ]] && CC_FILENAME+=".exe"
|
[[ $CC_OS == "windows" ]] && CC_FILENAME+=".exe"
|
||||||
CC_COMMAND="$CC_DOWNLOAD_DIR/$CC_FILENAME"
|
CC_COMMAND="./$CC_FILENAME"
|
||||||
[[ $CC_OS == "macos" ]] && \
|
[[ $CC_OS == "macos" ]] && \
|
||||||
! command -v gpg 2>&1 >/dev/null && \
|
! command -v gpg 2>&1 >/dev/null && \
|
||||||
HOMEBREW_NO_AUTO_UPDATE=1 brew install gpg
|
HOMEBREW_NO_AUTO_UPDATE=1 brew install gpg
|
||||||
@@ -110,36 +95,24 @@ else
|
|||||||
CC_URL="$CC_URL/${CC_VERSION}"
|
CC_URL="$CC_URL/${CC_VERSION}"
|
||||||
CC_URL="$CC_URL/${CC_OS}/${CC_FILENAME}"
|
CC_URL="$CC_URL/${CC_OS}/${CC_FILENAME}"
|
||||||
say "$g ->$x Downloading $b${CC_URL}$x"
|
say "$g ->$x Downloading $b${CC_URL}$x"
|
||||||
curl -o "$CC_COMMAND" $retry "$CC_URL"
|
curl -O $retry "$CC_URL"
|
||||||
say "$g==>$x Finishing downloading $b${CC_OS}:${CC_VERSION}$x"
|
say "$g==>$x Finishing downloading $b${CC_OS}:${CC_VERSION}$x"
|
||||||
v_url="https://cli.codecov.io/api/${CC_OS}/${CC_VERSION}"
|
v_url="https://cli.codecov.io/api/${CC_OS}/${CC_VERSION}"
|
||||||
v=$(curl $retry --retry-all-errors -s "$v_url" -H "Accept:application/json" | tr \{ '\n' | tr , '\n' | tr \} '\n' | grep "\"version\"" | awk -F'"' '{print $4}' | tail -1)
|
v=$(curl $retry --retry-all-errors -s "$v_url" -H "Accept:application/json" | tr \{ '\n' | tr , '\n' | tr \} '\n' | grep "\"version\"" | awk -F'"' '{print $4}' | tail -1)
|
||||||
say " Version: $b$v$x"
|
say " Version: $b$v$x"
|
||||||
say " "
|
say " "
|
||||||
fi
|
fi
|
||||||
if [ "$CC_SKIP_VALIDATION" == "true" ] || [ "$CC_SKIP_VALIDATION" == "1" ] || [ -n "$CC_BINARY" ] || [ "$CC_USE_PYPI" == "true" ] || [ "$CC_USE_PYPI" == "1" ];
|
if [ "$CC_SKIP_VALIDATION" == "true" ] || [ -n "$CC_BINARY" ] || [ "$CC_USE_PYPI" == "true" ];
|
||||||
then
|
then
|
||||||
say "$r==>$x Bypassing validation..."
|
say "$r==>$x Bypassing validation..."
|
||||||
if [ "$CC_SKIP_VALIDATION" == "true" ] || [ "$CC_SKIP_VALIDATION" == "1" ];
|
if [ "$CC_SKIP_VALIDATION" == "true" ];
|
||||||
then
|
then
|
||||||
chmod +x "$CC_COMMAND"
|
chmod +x "$CC_COMMAND"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
gpg_key_url="https://keybase.io/codecovsecops/pgp_keys.asc"
|
echo "$(curl -s https://keybase.io/codecovsecurity/pgp_keys.asc)" | \
|
||||||
gpg_import_ok=false
|
gpg --no-default-keyring --import
|
||||||
for gpg_attempt in 1 2 3; do
|
# One-time step
|
||||||
if curl -sf $retry "$gpg_key_url" | gpg --no-default-keyring --import; then
|
|
||||||
gpg_import_ok=true
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if [ "$gpg_attempt" -lt 3 ]; then
|
|
||||||
say "$r ->$x GPG key import attempt $gpg_attempt failed, retrying..."
|
|
||||||
sleep 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ "$gpg_import_ok" != "true" ]; then
|
|
||||||
exit_if_error "Could not import GPG verification key after 3 attempts. Please contact Codecov if problem continues"
|
|
||||||
fi
|
|
||||||
say "$g==>$x Verifying GPG signature integrity"
|
say "$g==>$x Verifying GPG signature integrity"
|
||||||
sha_url="https://cli.codecov.io"
|
sha_url="https://cli.codecov.io"
|
||||||
sha_url="${sha_url}/${CC_VERSION}/${CC_OS}"
|
sha_url="${sha_url}/${CC_VERSION}/${CC_OS}"
|
||||||
@@ -147,14 +120,14 @@ else
|
|||||||
say "$g ->$x Downloading $b${sha_url}$x"
|
say "$g ->$x Downloading $b${sha_url}$x"
|
||||||
say "$g ->$x Downloading $b${sha_url}.sig$x"
|
say "$g ->$x Downloading $b${sha_url}.sig$x"
|
||||||
say " "
|
say " "
|
||||||
curl -o "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM" -s $retry --connect-timeout 2 "$sha_url"
|
curl -Os $retry --connect-timeout 2 "$sha_url"
|
||||||
curl -o "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM.sig" -s $retry --connect-timeout 2 "${sha_url}.sig"
|
curl -Os $retry --connect-timeout 2 "${sha_url}.sig"
|
||||||
if ! gpg --verify "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM.sig" "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM";
|
if ! gpg --verify "${CC_FILENAME}.SHA256SUM.sig" "${CC_FILENAME}.SHA256SUM";
|
||||||
then
|
then
|
||||||
exit_if_error "Could not verify signature. Please contact Codecov if problem continues"
|
exit_if_error "Could not verify signature. Please contact Codecov if problem continues"
|
||||||
fi
|
fi
|
||||||
if ! (cd "$CC_DOWNLOAD_DIR" && (shasum -a 256 -c "${CC_FILENAME}.SHA256SUM" 2>/dev/null || \
|
if ! (shasum -a 256 -c "${CC_FILENAME}.SHA256SUM" 2>/dev/null || \
|
||||||
sha256sum -c "${CC_FILENAME}.SHA256SUM"));
|
sha256sum -c "${CC_FILENAME}.SHA256SUM");
|
||||||
then
|
then
|
||||||
exit_if_error "Could not verify SHASUM. Please contact Codecov if problem continues"
|
exit_if_error "Could not verify SHASUM. Please contact Codecov if problem continues"
|
||||||
fi
|
fi
|
||||||
@@ -164,16 +137,11 @@ else
|
|||||||
fi
|
fi
|
||||||
if [ -n "$CC_BINARY_LOCATION" ];
|
if [ -n "$CC_BINARY_LOCATION" ];
|
||||||
then
|
then
|
||||||
mkdir -p "$CC_BINARY_LOCATION" && mv "$CC_COMMAND" "$CC_BINARY_LOCATION/$CC_FILENAME"
|
mkdir -p "$CC_BINARY_LOCATION" && mv "$CC_FILENAME" $_
|
||||||
CC_COMMAND="$CC_BINARY_LOCATION/$CC_FILENAME"
|
|
||||||
say "$g==>$x ${CC_CLI_TYPE} binary moved to ${CC_BINARY_LOCATION}"
|
say "$g==>$x ${CC_CLI_TYPE} binary moved to ${CC_BINARY_LOCATION}"
|
||||||
fi
|
fi
|
||||||
if [ "$CC_DOWNLOAD_ONLY" = "true" ];
|
if [ "$CC_DOWNLOAD_ONLY" = "true" ];
|
||||||
then
|
then
|
||||||
if [ "$CC_CLEANUP" == "true" ] && [ -z "$CC_BINARY_LOCATION" ]; then
|
|
||||||
cp "$CC_COMMAND" "./$CC_FILENAME"
|
|
||||||
CC_COMMAND="./$CC_FILENAME"
|
|
||||||
fi
|
|
||||||
say "$g==>$x ${CC_CLI_TYPE} download only called. Exiting..."
|
say "$g==>$x ${CC_CLI_TYPE} download only called. Exiting..."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|||||||
Submodule src/scripts updated: 1905ad958e...473e292469
@@ -1 +1 @@
|
|||||||
7.1.1
|
5.6.0
|
||||||
|
|||||||
Reference in New Issue
Block a user