mirror of
https://github.com/codecov/codecov-action.git
synced 2026-06-29 02:16:57 +00:00
Compare commits
1 Commits
v6.0.2
...
fix/dirty-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9dee4adabc |
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 }}
|
||||||
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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
19
action.yml
19
action.yml
@@ -177,8 +177,6 @@ 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=""
|
||||||
|
|
||||||
@@ -190,7 +188,7 @@ runs:
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Check for gpg only if validation is not being skipped
|
# Check for gpg only if validation is not being skipped
|
||||||
if [ "$INPUT_SKIP_VALIDATION" != "true" ]; then
|
if [ "${{ inputs.skip_validation }}" != "true" ]; then
|
||||||
if ! command -v gpg >/dev/null 2>&1; then
|
if ! command -v gpg >/dev/null 2>&1; then
|
||||||
missing_deps="$missing_deps gpg"
|
missing_deps="$missing_deps gpg"
|
||||||
fi
|
fi
|
||||||
@@ -232,7 +230,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: |
|
||||||
@@ -247,27 +245,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
|
||||||
|
|||||||
52
dist/codecov.sh
vendored
52
dist/codecov.sh
vendored
@@ -37,7 +37,7 @@ 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.2.9"
|
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}"
|
||||||
@@ -69,14 +69,13 @@ 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=$(mktemp -d)
|
||||||
|
cleanup_downloads() {
|
||||||
|
rm -rf "$CC_DOWNLOAD_DIR"
|
||||||
|
}
|
||||||
|
trap cleanup_downloads EXIT
|
||||||
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"
|
||||||
@@ -93,7 +92,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_FILENAME"
|
CC_COMMAND="$CC_DOWNLOAD_DIR/$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
|
||||||
@@ -101,7 +100,7 @@ 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 $retry "$CC_URL"
|
curl -o "$CC_DOWNLOAD_DIR/$CC_FILENAME" $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)
|
||||||
@@ -116,9 +115,19 @@ then
|
|||||||
chmod +x "$CC_COMMAND"
|
chmod +x "$CC_COMMAND"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "$(curl -s https://keybase.io/codecovsecops/pgp_keys.asc)" | \
|
gpg_key_url="https://keybase.io/codecovsecurity/pgp_keys.asc"
|
||||||
gpg --no-default-keyring --import
|
gpg_import_ok=false
|
||||||
# One-time step
|
for gpg_attempt in 1 2 3; do
|
||||||
|
if curl -sf $retry "$gpg_key_url" | gpg --no-default-keyring --import 2>/dev/null; then
|
||||||
|
gpg_import_ok=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
say "$r ->$x GPG key import attempt $gpg_attempt failed, retrying..."
|
||||||
|
sleep 2
|
||||||
|
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}"
|
||||||
@@ -126,14 +135,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 -Os $retry --connect-timeout 2 "$sha_url"
|
curl -o "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM" -s $retry --connect-timeout 2 "$sha_url"
|
||||||
curl -Os $retry --connect-timeout 2 "${sha_url}.sig"
|
curl -o "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM.sig" -s $retry --connect-timeout 2 "${sha_url}.sig"
|
||||||
if ! gpg --verify "${CC_FILENAME}.SHA256SUM.sig" "${CC_FILENAME}.SHA256SUM";
|
if ! gpg --verify "$CC_DOWNLOAD_DIR/${CC_FILENAME}.SHA256SUM.sig" "$CC_DOWNLOAD_DIR/${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 ! (shasum -a 256 -c "${CC_FILENAME}.SHA256SUM" 2>/dev/null || \
|
if ! (cd "$CC_DOWNLOAD_DIR" && (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
|
||||||
@@ -143,11 +152,16 @@ else
|
|||||||
fi
|
fi
|
||||||
if [ -n "$CC_BINARY_LOCATION" ];
|
if [ -n "$CC_BINARY_LOCATION" ];
|
||||||
then
|
then
|
||||||
mkdir -p "$CC_BINARY_LOCATION" && mv "$CC_FILENAME" $_
|
mkdir -p "$CC_BINARY_LOCATION" && mv "$CC_COMMAND" "$CC_BINARY_LOCATION/$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 [ -n "$CC_DOWNLOAD_DIR" ] && [ -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: bad8df56cd...473e292469
@@ -1 +1 @@
|
|||||||
7.0.0
|
5.5.2
|
||||||
|
|||||||
Reference in New Issue
Block a user