mirror of
https://github.com/codecov/codecov-action.git
synced 2026-06-29 10:27:04 +00:00
Compare commits
14 Commits
th/add-rep
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a012917a57 | ||
|
|
fb8b3582c8 | ||
|
|
ca0a928a4c | ||
|
|
e79a6962e0 | ||
|
|
51e64229ac | ||
|
|
57e3a136b7 | ||
|
|
f67d33dda8 | ||
|
|
75cd11691c | ||
|
|
87d39f4a2c | ||
|
|
1af58845a9 | ||
|
|
c143300dea | ||
|
|
671740ac38 | ||
|
|
96b38e9e60 | ||
|
|
9b6d1f84bd |
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
|
|||||||
14
.github/workflows/enforce-license-compliance.yml
vendored
14
.github/workflows/enforce-license-compliance.yml
vendored
@@ -1,14 +0,0 @@
|
|||||||
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 }}
|
|
||||||
12
.github/workflows/main.yml
vendored
12
.github/workflows/main.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
runs-on: macos-latest-xlarge
|
runs-on: macos-latest-xlarge
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@@ -103,7 +103,7 @@ jobs:
|
|||||||
container: python:latest
|
container: python:latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Install deps
|
- name: Install deps
|
||||||
@@ -144,7 +144,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
apk add git
|
apk add git
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Upload coverage to Codecov (should fail due to missing dependencies)
|
- name: Upload coverage to Codecov (should fail due to missing dependencies)
|
||||||
@@ -175,7 +175,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
apk add git curl gnupg bash
|
apk add git curl gnupg bash
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Upload coverage to Codecov (should succeed)
|
- name: Upload coverage to Codecov (should succeed)
|
||||||
@@ -212,7 +212,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
apk add git curl
|
apk add git curl
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5.0.0
|
uses: actions/checkout@v6.0.3
|
||||||
with:
|
with:
|
||||||
submodules: "true"
|
submodules: "true"
|
||||||
- name: Upload coverage to Codecov (should fail due to missing gpg and bash)
|
- name: Upload coverage to Codecov (should fail due to missing gpg and bash)
|
||||||
|
|||||||
2
.github/workflows/scorecards-analysis.yml
vendored
2
.github/workflows/scorecards-analysis.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout code"
|
- name: "Checkout code"
|
||||||
uses: actions/checkout@v5.0.0 # v3.0.0
|
uses: actions/checkout@v6.0.3 # v3.0.0
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
## v5.6.0
|
## v5.5.2
|
||||||
|
|
||||||
### What's Changed
|
### What's Changed
|
||||||
|
|
||||||
|
|
||||||
**Full Changelog**: https://github.com/codecov/codecov-action/compare/v5.5.1..v5.6.0
|
**Full Changelog**: https://github.com/codecov/codecov-action/compare/v5.5.1..v5.5.2
|
||||||
|
|
||||||
|
|
||||||
## 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 v5
|
git tag -d v7
|
||||||
git push origin :v5
|
git push origin :v7
|
||||||
git tag v5
|
git tag v7
|
||||||
git tag v$(VERSION) -s -m ""
|
git tag v$(VERSION) -s -m ""
|
||||||
git push origin --tags
|
git push origin --tags
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -6,6 +6,14 @@
|
|||||||
|
|
||||||
### 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.
|
||||||
@@ -132,7 +140,6 @@ Codecov's Action supports inputs from the user. These inputs, along with their d
|
|||||||
| `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
|
||||||
@@ -141,7 +148,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
|
||||||
|
|||||||
52
action.yml
52
action.yml
@@ -19,10 +19,6 @@ 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 +50,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,16 +177,25 @@ 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 required commands
|
# Check for always-required commands
|
||||||
for cmd in bash git curl gpg; do
|
for cmd in bash git curl; 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"
|
||||||
@@ -204,24 +209,6 @@ 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
|
||||||
@@ -245,7 +232,7 @@ runs:
|
|||||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||||
|
|
||||||
- name: Get OIDC token
|
- name: Get OIDC token
|
||||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
id: oidc
|
id: oidc
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
@@ -260,24 +247,27 @@ runs:
|
|||||||
- name: Get and set token
|
- name: Get and set token
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ inputs.use_oidc }}" == 'true' ] && [ "$CC_FORK" != 'true' ];
|
if [ "$INPUT_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 "${{ env.CODECOV_TOKEN }}" ];
|
elif [ -n "$INPUT_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=${{ env.CODECOV_TOKEN }}" >> "$GITHUB_ENV"
|
echo "CC_TOKEN=$INPUT_CODECOV_TOKEN" >> "$GITHUB_ENV"
|
||||||
else
|
else
|
||||||
if [ -n "${{ inputs.token }}" ];
|
if [ -n "$INPUT_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 "${{ inputs.token }}" | tr -d '\n')
|
CC_TOKEN=$(echo "$INPUT_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
|
||||||
|
|||||||
10
dist/codecov.sh
vendored
10
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.7"
|
CC_WRAPPER_VERSION="0.2.9"
|
||||||
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,7 +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="codecovcli"
|
||||||
|
elif [[ "$CC_CLI_TYPE" == "sentry-prevent-cli" ]]; then
|
||||||
|
CC_COMMAND="sentry-prevent-cli"
|
||||||
|
else
|
||||||
CC_COMMAND="${CC_CLI_TYPE}"
|
CC_COMMAND="${CC_CLI_TYPE}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
if [ -n "$CC_OS" ];
|
if [ -n "$CC_OS" ];
|
||||||
then
|
then
|
||||||
@@ -110,7 +116,7 @@ then
|
|||||||
chmod +x "$CC_COMMAND"
|
chmod +x "$CC_COMMAND"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "$(curl -s https://keybase.io/codecovsecurity/pgp_keys.asc)" | \
|
echo "$(curl -s https://keybase.io/codecovsecops/pgp_keys.asc)" | \
|
||||||
gpg --no-default-keyring --import
|
gpg --no-default-keyring --import
|
||||||
# One-time step
|
# One-time step
|
||||||
say "$g==>$x Verifying GPG signature integrity"
|
say "$g==>$x Verifying GPG signature integrity"
|
||||||
|
|||||||
Submodule src/scripts updated: 473e292469...bad8df56cd
@@ -1 +1 @@
|
|||||||
5.6.0
|
7.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user