Acción de GitHub para ejecutar el análisis estático de codacía en más de 40 idiomas compatibles y devolver problemas identificados en el código.
Codacy es una herramienta de revisión de código automatizada que facilita la garantía de que su equipo escriba un código de alta calidad analizando más de 40 lenguajes de programación como PHP, JavaScript, Python, Java y Ruby. Codacy le permite definir sus propias reglas de calidad, patrones de código y configuraciones de calidad que desea aplicar para evitar problemas en su base de código.
La Acción Codacy GitHub admite los siguientes escenarios:
De forma predeterminada, la acción de la codacía GitHub:

Para usar la acción GitHub con la configuración predeterminada, agregue lo siguiente a un archivo .github/workflows/codacy-analysis.yaml en su repositorio:
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master Integre la acción de Codacy GitHub con el escaneo de código GitHub para mostrar los resultados del análisis en su repositorio en las alertas de escaneo de código de seguridad de seguridad de la pestaña.
En este escenario, la acción de GitHub:
master o main ejecutando todas las herramientas de análisis de código estático compatibles para los idiomas que se encuentran en su repositorio.results.sarif , que luego se carga a GitHub. 
Para usar la acción GitHub con la integración de escaneo de código GitHub, agregue lo siguiente a un archivo .github/workflows/codacy-analysis.yaml en su repositorio:
name : Codacy Security Scan
on :
push :
branches : [ "master", "main" ]
pull_request :
branches : [ "master", "main" ]
jobs :
codacy-security-scan :
name : Codacy Security Scan
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
output : results.sarif
format : sarif
# Adjust severity of non-security issues
gh-code-scanning-compat : true
# Force 0 exit code to allow SARIF file generation
# This will hand over control about PR rejection to the GitHub side
max-allowed-issues : 2147483647
# Upload the SARIF file generated in the previous step
- name : Upload SARIF results file
uses : github/codeql-action/upload-sarif@main
with :
sarif_file : results.sarif Use la acción de GitHub para ejecutar cualquiera de las herramientas contenedorizadas del lado del cliente compatible con la codacía y cargue los resultados del análisis a la codacía.
En este escenario, la acción de GitHub:
Después de esto, Codacy muestra los resultados del análisis de sus solicitudes de compromiso y extracción en los paneles de interfaz de usuario, y opcionalmente informa el estado del análisis directamente en sus solicitudes de extracción de GitHub.

Para usar la acción GitHub con integración de codacy:
En Codacy, habilite la herramienta contenedor del lado del cliente y configure los patrones de código correspondientes en la página de patrones de código de repositorio.
En Codacy, habilite el análisis Ejecutar a través del servidor de compilación en su configuración de repositorio, pestaña general , análisis de repositorio .
Esta configuración permite que la codacía espere los resultados del análisis local antes de reanudar el análisis de sus confirmaciones.
Configure un token API para permitir que la acción de GitHub se autentique en la codacía:
CODACY_PROJECT_TOKEN .CODACY_API_TOKEN .
️ Nunca escriba tokens API en sus archivos de configuración y mantenga sus tokens API bien protegidos, ya que otorgan permisos del propietario a sus proyectos sobre codificación.
Agregue lo siguiente a un archivo .github/workflows/codacy-analysis.yaml en su repositorio, donde <CLIENT_SIDE_TOOL_NAME> es el nombre de la herramienta contenedora del lado del cliente que la CLI de análisis de códigos ejecutará localmente, o no especifica este parámetro para ejecutar todas las herramientas admitidas por codacía:
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
tool : <CLIENT_SIDE_TOOL_NAME>
project-token : ${{ secrets.CODACY_PROJECT_TOKEN }}
# or
# api-token: ${{ secrets.CODACY_API_TOKEN }}
upload : true
max-allowed-issues : 2147483647Si está ejecutando una herramienta GO del lado del cliente, también debe configurar el entorno GO antes de ejecutar la acción CLI GitHub Analysis GitHub. Recomendamos usar la acción GitHub de configuración para esto:
- name : set-up go
uses : actions/setup-go@v3
with :
# Go version currently supported by Codacy
go-version : 1.19.1Opcionalmente, especifique los siguientes parámetros para ejecutar herramientas independientes del lado del cliente:
run-gosec : " true "
run-staticcheck : " true "Debido a la compleja orquestación de las herramientas Clang-Tidy y Faux PAS, la acción puede recibir en su lugar los archivos de salida de las herramientas y cargarlos a la codificación:
clang-tidy-output : " path/to/output "
faux-pas-output : " path/to/output "Si solo desea ejecutar las herramientas independientes del lado del cliente y no todas las herramientas contenedores compatibles con Codacy, especifique:
run-docker-tools : " false "Opcionalmente, habilite la integración de GitHub en la codacía para tener información sobre el análisis de los archivos cambiados directamente en sus solicitudes de extracción.
La Acción de GitHub Codacy es un envoltorio para ejecutar la CLI del análisis de codacy. Para una lista de parámetros de entrada compatibles, consulte action.yml . Para pasar los parámetros de entrada a la acción, actualice el asociado with el mapa.
El siguiente ejemplo limita el análisis a un directorio src y proporciona detalles adicionales estableciendo verbose en true .
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true Nos encantan las contribuciones, los comentarios y los informes de errores. Si se encuentra con problemas mientras ejecuta esta acción, abra un problema en este repositorio.