{"id":5799706,"name":"coverallsapp/github-action","ecosystem":"actions","description":"Send test coverage data to Coveralls.io for analysis, change tracking, and notifications.","homepage":"https://github.com/marketplace/actions/coveralls-github-action","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/coverallsapp/github-action","keywords_array":["actions","ci","code-coverage","code-quality","test-coverage","testing"],"namespace":"coverallsapp","versions_count":35,"first_release_published_at":"2019-08-07T21:01:42.000Z","latest_release_published_at":"2025-11-17T23:35:44.000Z","latest_release_number":"v2.3.7","last_synced_at":"2026-06-01T23:30:22.735Z","created_at":"2023-01-04T11:27:04.837Z","updated_at":"2026-06-01T23:30:22.736Z","registry_url":"https://github.com/coverallsapp/github-action","install_command":null,"documentation_url":null,"metadata":{"name":"Coveralls GitHub Action","description":"Send test coverage data to Coveralls.io for analysis, change tracking, and notifications.","author":"Coveralls.io","inputs":{"github-token":{"description":"Put secrets.GITHUB_TOKEN here","required":false,"default":"${{ github.token }}"},"path-to-lcov":{"description":"Path to lcov file [DEPRECATED]","required":false},"file":{"description":"Coverage file","required":false},"files":{"description":"Space-separated list of coverage files","required":false},"format":{"description":"Force coverage format, supported formats: lcov, simplecov, cobertura, jacoco, gcov, golang, python","required":false},"flag-name":{"description":"Job flag name, e.g. \"Unit\", \"Functional\", or \"Integration\". Will be shown in the Coveralls UI.","required":false},"build-number":{"description":"Override the build number autodetected from CI. This is useful if your CI tool assigns a different build number per each parallel build.","required":false},"parallel":{"description":"Set to true if you are running parallel jobs, then use \"parallel-finished: true\" for the last action.","required":false},"parallel-finished":{"description":"Set to true for the last action when using \"parallel: true\".","required":false},"carryforward":{"description":"Comma separated flags used to carryforward results from previous builds if some of the parallel jobs are missing.","required":false},"coveralls-endpoint":{"description":"Coveralls Enterprise server (more info: https://enterprise.coveralls.io)","required":false,"default":"https://coveralls.io"},"allow-empty":{"description":"Don't fail when coverage report file is empty or contains no data","required":false,"default":"false"},"base-path":{"description":"The root folder of the project that originally ran the tests","required":false},"git-branch":{"description":"Override the branch name","required":false},"git-commit":{"description":"Override the commit sha","required":false},"compare-ref":{"description":"Branch name to use as the base for coverage results","required":false},"compare-sha":{"description":"Commit SHA to use as the base for coverage results","required":false},"debug":{"description":"Enable debug output","required":false,"default":"false"},"measure":{"description":"Show execution time of parsing and reporting","required":false,"default":"false"},"fail-on-error":{"description":"Whether to fail (exit code 1) on any issues while uploading the coverage","required":false,"default":"true"},"coverage-reporter-version":{"description":"Version of coverage-reporter to use. Make sure to prefix the version number with 'v'. For example: v0.6.9","required":false,"default":"latest"},"coverage-reporter-platform":{"description":"Platform of coverage-reporter to use on Linux runners. Supported values: auto-detect (default), x86_64, aarch64, arm64.","required":false,"default":"auto-detect"}},"branding":{"color":"green","icon":"percent"},"runs":{"using":"composite","steps":[{"name":"Report coverage-reporter-version exception for macOS","if":"${{ runner.os == 'macOS' \u0026\u0026 inputs.coverage-reporter-version != 'latest' }}","shell":"bash","run":"echo \"Warning: The coverage-reporter-version parameter is not available on macOS. The latest version will be installed via Homebrew.\" \u003e\u00262\n"},{"name":"Report coverage-reporter-platform exception for macOS","if":"${{ runner.os == 'macOS' \u0026\u0026 inputs.coverage-reporter-platform != '' }}","shell":"bash","run":"echo \"Warning: The coverage-reporter-platform parameter is not available on macOS. The default version for macOS will be used.\" \u003e\u00262\n"},{"name":"Install coveralls reporter (macOS)","if":"runner.os == 'macOS'","shell":"bash","run":"# Enable debugging if 'debug' is true\n[ \"${{ inputs.debug }}\" == \"true\" ] \u0026\u0026 set -x\n\n# Try to install coverage-reporter via Homebrew\nif ! brew tap coverallsapp/coveralls --quiet || ! brew install coveralls --quiet; then\n  echo \"Failed to install coveralls via Homebrew (macOS).\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n\n# Check if the binary exists in the possible locations\nif [ -f /usr/local/bin/coveralls ]; then\n  echo \"/usr/local/bin\" \u003e\u003e $GITHUB_PATH\nelif [ -f /opt/homebrew/bin/coveralls ]; then\n  echo \"/opt/homebrew/bin\" \u003e\u003e $GITHUB_PATH\nelse\n  echo \"Coveralls binary not found after installation (MacOS).\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n"},{"name":"Install coveralls reporter (Linux)","if":"runner.os == 'Linux'","env":{"COVERAGE_REPORTER_VERSION":"${{ inputs.coverage-reporter-version }}","COVERAGE_REPORTER_PLATFORM":"${{ inputs.coverage-reporter-platform }}"},"shell":"bash","run":"# Enable debugging if 'debug' is true\n[ \"${{ inputs.debug }}\" == \"true\" ] \u0026\u0026 set -x\n\nmkdir -p ~/bin/\ncd ~/bin/\n\n# Determine which version of coverage-reporter to download\nif [ -z \"$COVERAGE_REPORTER_VERSION\" ] || [ \"$COVERAGE_REPORTER_VERSION\" == \"latest\" ]; then\n  asset_path=\"latest/download\"\n  version_message=\"latest\"\nelse\n  asset_path=\"download/${COVERAGE_REPORTER_VERSION}\"\n  version_message=\"$COVERAGE_REPORTER_VERSION\"\nfi\n\n# Function to compare version numbers\nversion_ge() {\n  # Compare two version numbers\n  [ \"$(printf '%s\\n' \"$@\" | sort -V | head -n 1)\" != \"$1\" ]\n}\n\n# Determine the platform-specific filename:\n# This logic is necessary due to the introduction of multiple platform support starting from v0.6.15.\n# It selects the correct filename based on the specified platform and version, while ensuring\n# backward compatibility with earlier versions that only supported a generic Linux binary for x86_64.\nif [ -z \"$COVERAGE_REPORTER_PLATFORM\" ] || [ \"$COVERAGE_REPORTER_PLATFORM\" == \"auto-detect\" ]; then\n  COVERAGE_REPORTER_PLATFORM=\"$(uname -m)\"\nfi\ncase \"$COVERAGE_REPORTER_PLATFORM\" in\n  x86_64|\"\")\n    if version_ge \"$COVERAGE_REPORTER_VERSION\" \"v0.6.15\"; then\n      platform_filename=\"coveralls-linux-x86_64.tar.gz\"\n    else\n      platform_filename=\"coveralls-linux.tar.gz\"\n    fi\n    ;;\n  aarch64|arm64)\n    if version_ge \"$COVERAGE_REPORTER_VERSION\" \"v0.6.15\"; then\n      platform_filename=\"coveralls-linux-aarch64.tar.gz\"\n    else\n      echo \"Warning: The aarch64/arm64 platform is only supported from version v0.6.15 onwards. Proceeding with v0.6.15.\" \u003e\u00262\n      asset_path=\"download/v0.6.15\"\n      platform_filename=\"coveralls-linux-aarch64.tar.gz\"\n    fi\n    ;;\n  *)\n    echo \"Warning: Unsupported platform: $COVERAGE_REPORTER_PLATFORM. The default x86_64 version ($version_message) will be used.\" \u003e\u00262\n    if version_ge \"$COVERAGE_REPORTER_VERSION\" \"v0.6.15\"; then\n      platform_filename=\"coveralls-linux-x86_64.tar.gz\"\n    else\n      platform_filename=\"coveralls-linux.tar.gz\"\n    fi\n    ;;\nesac\n\n# Checksum verification:\n# The following code was chosen to replace the more simple `sha256sum -c` because it provides\n# clearer debugging information around our new matrix of supported coverage-reporter versions and platforms.\n# We may drop back to `${platform_filename}\" coveralls-checksums.txt | sha256sum -c` when we're more confidently handling these.\n\n# Try to download the binary and checksum file\nif ! curl -sLO \"https://github.com/coverallsapp/coverage-reporter/releases/${asset_path}/${platform_filename}\" ||\n  ! curl -sLO \"https://github.com/coverallsapp/coverage-reporter/releases/${asset_path}/coveralls-checksums.txt\"; then\n  echo \"Failed to download coveralls binary or checksum (Linux).\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n\n# DEBUG: Print contents of checksum file for debugging\necho \"Contents of coveralls-checksums.txt:\"\ncat coveralls-checksums.txt\n\n# Extract expected checksum\nexpected_checksum=$(grep \"${platform_filename}\" coveralls-checksums.txt | awk '{print $1}')\nif [ -z \"$expected_checksum\" ]; then\n  echo \"Failed to extract checksum for ${platform_filename}\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n\n# Compute actual checksum\nactual_checksum=$(sha256sum \"${platform_filename}\" | awk '{print $1}')\n\n# Perform verification by comparing expected and actual checksums\nif [ \"$expected_checksum\" != \"$actual_checksum\" ]; then\n  echo \"Checksum verification failed (Linux).\"\n  echo \"Expected: $expected_checksum\"\n  echo \"Actual: $actual_checksum\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n\ntar -xzf \"${platform_filename}\"\n\n# Check if the binary exists\nif [ ! -f ~/bin/coveralls ]; then\n  echo \"Coveralls binary not found after extraction (Linux).\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\n\n# Cleanup\nrm coveralls-checksums.txt\necho ~/bin \u003e\u003e $GITHUB_PATH\n"},{"name":"Report coverage-reporter-platform exception for Windows","if":"${{ startsWith(runner.os, 'Windows') \u0026\u0026 inputs.coverage-reporter-platform != '' }}","shell":"pwsh","run":"Write-Host \"Warning: The coverage-reporter-platform parameter is not available on Windows. The default version for Windows will be used.\" -ForegroundColor Yellow\n"},{"name":"Install coveralls reporter (Windows)","if":"startsWith(runner.os, 'Windows')","env":{"COVERAGE_REPORTER_VERSION":"${{ inputs.coverage-reporter-version }}"},"shell":"pwsh","run":"# Enable debugging if 'debug' is true\nif (\"${{ inputs.debug }}\" -eq \"true\") {\n  Set-PSDebug -Trace 1\n}\n\n# Try to download the binary and checksum file\nNew-Item -Path $env:HOME\\bin -ItemType directory -Force\nPush-Location $env:HOME\\bin\ntry {\n  if ([string]::IsNullOrEmpty($env:COVERAGE_REPORTER_VERSION) -or $env:COVERAGE_REPORTER_VERSION -eq \"latest\") {\n    Invoke-WebRequest -Uri \"https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-windows.exe\" -OutFile \"coveralls.exe\"\n    Invoke-WebRequest -Uri \"https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-checksums.txt\" -OutFile \"sha256sums.txt\"\n  } else {\n    Invoke-WebRequest -Uri \"https://github.com/coverallsapp/coverage-reporter/releases/download/$env:COVERAGE_REPORTER_VERSION/coveralls-windows.exe\" -OutFile \"coveralls.exe\"\n    Invoke-WebRequest -Uri \"https://github.com/coverallsapp/coverage-reporter/releases/download/$env:COVERAGE_REPORTER_VERSION/coveralls-checksums.txt\" -OutFile \"sha256sums.txt\"\n  }\n} catch {\n  Write-Host \"Failed to download coveralls binary or checksum (Windows).\"\n  if (\"${{ inputs.fail-on-error }}\" -eq \"false\") {\n    exit 0\n  }\n  exit 1\n}\n\n# Try to verify the downloaded binary\nif ((Get-FileHash coveralls.exe).Hash -ne (Get-Content sha256sums.txt | Select-String 'windows.exe' | ForEach-Object { ($_ -split \"\\s+\")[0] })) {\n  Write-Host \"Checksum verification failed (Windows).\"\n  if (\"${{ inputs.fail-on-error }}\" -eq \"false\") {\n    exit 0\n  }\n  exit 1\n}\n\n# Check if the binary exists\nif (!(Test-Path -Path \"$env:HOME\\bin\\coveralls.exe\")) {\n  Write-Host \"Coveralls binary not found after download and verification (Windows).\"\n  if (\"${{ inputs.fail-on-error }}\" -eq \"false\") {\n    exit 0\n  }\n  exit 1\n}\n\n# Cleanup\nRemove-Item sha256sums.txt -Force\necho $env:HOME\\bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append\n"},{"name":"Done report (Unix)","if":"inputs.parallel-finished == 'true' \u0026\u0026 !startsWith(runner.os, 'Windows')","shell":"bash","run":"# Check if coveralls binary exists\nif ! command -v coveralls \u0026\u003e /dev/null; then\n  echo \"Coveralls binary not found. Skipping done report.\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\ncoveralls done ${{ inputs.debug == 'true' \u0026\u0026 '--debug' || '' }} ${{ inputs.measure == 'true' \u0026\u0026 '--measure' || '' }} ${{ inputs.build-number \u0026\u0026 format('--build-number {0}', inputs.build-number) || '' }} ${{ inputs.fail-on-error == 'false' \u0026\u0026 '--no-fail' || '' }}\n","env":{"COVERALLS_DEBUG":"${{ inputs.debug }}","COVERALLS_CARRYFORWARD_FLAGS":"${{ inputs.carryforward }}","COVERALLS_FLAG_NAME":"${{ inputs.flag-name }}","COVERALLS_PARALLEL":"${{ inputs.parallel }}","COVERALLS_ENDPOINT":"${{ inputs.coveralls-endpoint }}","COVERALLS_GIT_BRANCH":"${{ inputs.git-branch }}","COVERALLS_GIT_COMMIT":"${{ inputs.git-commit }}","COVERALLS_REPO_TOKEN":"${{ inputs.github-token }}"}},{"name":"Done report (Windows)","if":"inputs.parallel-finished == 'true' \u0026\u0026 startsWith(runner.os, 'Windows')","shell":"pwsh","run":"# Check if coveralls binary exists\nif (!(Get-Command coveralls -ErrorAction SilentlyContinue)) {\n  Write-Host \"Coveralls binary not found. Skipping done report.\"\n  if (\"${{ inputs.fail-on-error }}\" -eq \"false\") {\n    exit 0\n  }\n  exit 1\n}\ncoveralls done ${{ inputs.debug == 'true' \u0026\u0026 '--debug' || '' }} ${{ inputs.measure == 'true' \u0026\u0026 '--measure' || '' }} ${{ inputs.build-number \u0026\u0026 format('--build-number {0}', inputs.build-number) || '' }} ${{ inputs.fail-on-error == 'false' \u0026\u0026 '--no-fail' || '' }}\n","env":{"COVERALLS_DEBUG":"${{ inputs.debug }}","COVERALLS_CARRYFORWARD_FLAGS":"${{ inputs.carryforward }}","COVERALLS_FLAG_NAME":"${{ inputs.flag-name }}","COVERALLS_PARALLEL":"${{ inputs.parallel }}","COVERALLS_ENDPOINT":"${{ inputs.coveralls-endpoint }}","COVERALLS_GIT_BRANCH":"${{ inputs.git-branch }}","COVERALLS_GIT_COMMIT":"${{ inputs.git-commit }}","COVERALLS_REPO_TOKEN":"${{ inputs.github-token }}"}},{"name":"Coverage report (Unix)","if":"inputs.parallel-finished != 'true' \u0026\u0026 !startsWith(runner.os, 'Windows')","shell":"bash","run":"# Check if coveralls binary exists\nif ! command -v coveralls \u0026\u003e /dev/null; then\n  echo \"Coveralls binary not found. Skipping coverage report.\"\n  [ \"${{ inputs.fail-on-error }}\" == \"false\" ] \u0026\u0026 exit 0\n  exit 1\nfi\ncoveralls report ${{ inputs.debug == 'true' \u0026\u0026 '--debug' || '' }} ${{ inputs.measure == 'true' \u0026\u0026 '--measure' || '' }} ${{ inputs.fail-on-error == 'false' \u0026\u0026 '--no-fail' || '' }} ${{ inputs.allow-empty == 'true' \u0026\u0026 '--allow-empty' || '' }} ${{ inputs.base-path \u0026\u0026 format('--base-path {0}', inputs.base-path) || '' }} ${{ inputs.build-number \u0026\u0026 format('--build-number {0}', inputs.build-number) || '' }} ${{ inputs.format \u0026\u0026 format('--format {0}', inputs.format) || '' }} ${{ inputs.file || inputs.path-to-lcov }} ${{ inputs.files }}\n","env":{"COVERALLS_DEBUG":"${{ inputs.debug }}","COVERALLS_CARRYFORWARD_FLAGS":"${{ inputs.carryforward }}","COVERALLS_FLAG_NAME":"${{ inputs.flag-name }}","COVERALLS_PARALLEL":"${{ inputs.parallel }}","COVERALLS_ENDPOINT":"${{ inputs.coveralls-endpoint }}","COVERALLS_GIT_BRANCH":"${{ inputs.git-branch }}","COVERALLS_GIT_COMMIT":"${{ inputs.git-commit }}","COVERALLS_REPO_TOKEN":"${{ inputs.github-token }}","COVERALLS_COMPARE_REF":"${{ inputs.compare-ref }}","COVERALLS_COMPARE_SHA":"${{ inputs.compare-sha }}","COVERALLS_SOURCE_HEADER":"github-action"}},{"name":"Coverage report (Windows)","if":"inputs.parallel-finished != 'true' \u0026\u0026 startsWith(runner.os, 'Windows')","shell":"pwsh","run":"# Check if coveralls binary exists\nif (!(Get-Command coveralls -ErrorAction SilentlyContinue)) {\n  Write-Host \"Coveralls binary not found. Skipping coverage report.\"\n  if (\"${{ inputs.fail-on-error }}\" -eq \"false\") {\n    exit 0\n  }\n  exit 1\n}\ncoveralls report ${{ inputs.debug == 'true' \u0026\u0026 '--debug' || '' }} ${{ inputs.measure == 'true' \u0026\u0026 '--measure' || '' }} ${{ inputs.fail-on-error == 'false' \u0026\u0026 '--no-fail' || '' }} ${{ inputs.allow-empty == 'true' \u0026\u0026 '--allow-empty' || '' }} ${{ inputs.base-path \u0026\u0026 format('--base-path {0}', inputs.base-path) || '' }} ${{ inputs.build-number \u0026\u0026 format('--build-number {0}', inputs.build-number) || '' }} ${{ inputs.format \u0026\u0026 format('--format {0}', inputs.format) || '' }} ${{ inputs.file || inputs.path-to-lcov }} ${{ inputs.files }}\n","env":{"COVERALLS_DEBUG":"${{ inputs.debug }}","COVERALLS_CARRYFORWARD_FLAGS":"${{ inputs.carryforward }}","COVERALLS_FLAG_NAME":"${{ inputs.flag-name }}","COVERALLS_PARALLEL":"${{ inputs.parallel }}","COVERALLS_ENDPOINT":"${{ inputs.coveralls-endpoint }}","COVERALLS_GIT_BRANCH":"${{ inputs.git-branch }}","COVERALLS_GIT_COMMIT":"${{ inputs.git-commit }}","COVERALLS_REPO_TOKEN":"${{ inputs.github-token }}","COVERALLS_COMPARE_REF":"${{ inputs.compare-ref }}","COVERALLS_COMPARE_SHA":"${{ inputs.compare-sha }}","COVERALLS_SOURCE_HEADER":"github-action"}}]},"default_branch":"main","path":null},"repo_metadata":{"id":35516387,"uuid":"200696780","full_name":"coverallsapp/github-action","owner":"coverallsapp","description":"Coveralls Github Action","archived":false,"fork":false,"pushed_at":"2025-09-19T19:22:04.000Z","size":21738,"stargazers_count":503,"open_issues_count":63,"forks_count":73,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-10-21T01:28:50.432Z","etag":null,"topics":["actions","ci","code-coverage","code-quality","test-coverage","testing"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/coveralls-github-action","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coverallsapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-05T17:07:14.000Z","updated_at":"2025-09-19T19:22:06.000Z","dependencies_parsed_at":"2023-01-15T22:45:22.799Z","dependency_job_id":"dc5f32e9-6e4f-4a8e-aef0-9d365267187c","html_url":"https://github.com/coverallsapp/github-action","commit_stats":{"total_commits":108,"total_committers":21,"mean_commits":5.142857142857143,"dds":0.6851851851851851,"last_synced_commit":"cfd0633edbd2411b532b808ba7a8b5e04f76d2c8"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/coverallsapp/github-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coverallsapp","download_url":"https://codeload.github.com/coverallsapp/github-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action/sbom","scorecard":{"id":306165,"data":{"date":"2025-08-11","repo":{"name":"github.com/coverallsapp/github-action","commit":"e7f4f977bd3dba07a6fda03be3053f1658992446"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Code-Review","score":2,"reason":"Found 8/30 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/update-major-version-tag.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/coverallsapp/github-action/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-major-version-tag.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/coverallsapp/github-action/update-major-version-tag.yml/main?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T22:06:47.087Z","repository_id":35516387,"created_at":"2025-08-17T22:06:47.087Z","updated_at":"2025-08-17T22:06:47.087Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280906448,"owners_count":26411421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"tags":[]},"repo_metadata_updated_at":"2025-10-28T18:52:39.794Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":10738,"rankings":{"downloads":null,"dependent_repos_count":0.14577721438757724,"dependent_packages_count":0.0,"stargazers_count":0.5767707177943273,"forks_count":0.6971953731579782,"docker_downloads_count":null,"average":0.35493582633497067},"purl":"pkg:githubactions/coverallsapp/github-action","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/coverallsapp/github-action","docker_dependents_count":33,"docker_downloads_count":2915303854,"usage_url":"https://repos.ecosyste.ms/usage/actions/coverallsapp/github-action","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/coverallsapp/github-action/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-09-29T05:14:21.509Z","issues_count":102,"pull_requests_count":83,"avg_time_to_close_issue":11536736.8,"avg_time_to_close_pull_request":16256907.24390244,"issues_closed_count":60,"pull_requests_closed_count":82,"pull_request_authors_count":31,"issue_authors_count":97,"avg_comments_per_issue":3.5784313725490198,"avg_comments_per_pull_request":0.9036144578313253,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":6,"past_year_issues_count":14,"past_year_pull_requests_count":18,"past_year_avg_time_to_close_issue":1422610.6363636365,"past_year_avg_time_to_close_pull_request":96400.29411764706,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":17,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":13,"past_year_avg_comments_per_issue":4.928571428571429,"past_year_avg_comments_per_pull_request":0.2222222222222222,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":16,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/coverallsapp%2Fgithub-action/issues","maintainers":[{"login":"mrexox","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mrexox"},{"login":"afinetooth","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/afinetooth"}],"active_maintainers":[{"login":"afinetooth","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/afinetooth"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/coverallsapp%2Fgithub-action/codemeta","maintainers":[]}