Closed fps1001 closed 3 weeks ago
Creada cuenta y ligado el repositorio. Falta elegir la herramienta de análisis... Quizá algún apunte de DAS me vendría bien... @clopezno
La opción que te aconsejo es Integrar sonarqube con github actions. Quizás te ayude esta documentación básica para comprender que son las actions de github https://docs.github.com/es/actions y esta para saber como integrar sonarqube https://github.com/marketplace/actions/official-sonarqube-scan.
Como no he revisado la calidad con desarrollos con Flutter y Dart he ojeado como tenía definida los ficheros .yml de actions de David https://github.com/davidmigloz/langchain_dart/actions/workflows/test.yaml. He visto que utiliza codeQL para analizar vulnerabilidades https://codeql.github.com/ y que tiene definido un workflow para la ejecución automática de pruebas.
He creado los archivos de configuración, creado la clave pero no realiza el escaner.
No consigo que me genere el análisis SonarQube, he seguido los pasos, creado secreto y archivos yaml, pero no lo hace automáticamente y ahora en cada commit me indica un error. CodeQL no soporta Dart/Flutter quiza en el proyecto bees se usaba android nativo...
Consultado con David me indica también DCM: https://dcm.dev/features/
Voy a investigar DCM y cualquier ayuda con sonarqube es bien recibida.
Investida tú DCM e intento sacar tiempo el lunes de la próxima semana para clonar tu repositorio e intentar lanzar sonarQube.
Error de sonarqube relacionado con lenguaje c...
He realizado el primer chequeo de calidad para ver si funcionaba con Dart. El informe esta público en https://sonarcloud.io/project/overview?id=clopezno_DartTestSonar-Dsonar.sources%3D.-Dsonar.host.url%3Dhttps%3A%2F%2Fsonarcloud.io
He dejado un vídeo explicativo. Falta configurar la integración con las actions de github https://sonarcloud.io/project/configuration/GitHubActions?id=clopezno_DartTestSonar-Dsonar.sources%3D.-Dsonar.host.url%3Dhttps%3A%2F%2Fsonarcloud.io
No accedo al vídeo mencionado @clopezno, ambas páginas me llevan al proyecto pero no encuentro ningún tutorial.
Tienes razón. Siento el error. Prueba este enlace https://universidaddeburgos-my.sharepoint.com/:v:/g/personal/clopezno_ubu_es/EefzyWlF_dBAqsypYaPPXOkBZJMzoL8UBMT69_hmteh-Xw?e=YSrP30&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D
conseguido con el mismo método que en el vídeo (gracias). Tengo un problema con algo relacionado a un compilador de c (no tengo ni idea de qué es), he ignorado estos archivos en el .bat: sonar-scanner.bat ^ -D"sonar.projectKey=fps1001_TFGII_FPisot" ^ -D"sonar.organization=fps" ^ -D"sonar.sources=." ^ -D"sonar.host.url=https://sonarcloud.io" ^ -D"sonar.c.file.suffixes=-" ^ -D"sonar.cpp.file.suffixes=-" ^ -D"sonar.objc.file.suffixes=-" Y se generó el informe. Por lo que ví en el informe de github es el mismo problema por el que no me está funcionando desde Github Actions. Además al arrancar VSCode me pide que elija sobre un tema similar... Elimino todas las carpetas que no sean de la aplicación android: web, windows, ios (ésta es la del problema).
No consigo hacerlo automático. Lo dejo para el sprint review. Me da un fallo con la versión java de la imagen que tiene docker, que no es compatible...
He probado exitosamente la integración continua de calidad con actions y sonarqube con una copia de tu repositorio de Github. Este es el fichero de configuración que he utilizado https://github.com/clopezno/SonarFlutter/blob/main/.github/workflows/SonarCloud.yml. Recuerda actualizar el fichero sonar-project.properties del directorio raíz de tu repositorio.
Faltaría integrar con actions los test y si quieres la construcción de la aplicación he realizado parte una versión preliminar de esta automatización en https://github.com/clopezno/SonarFlutter/blob/main/.github/workflows/dart.yml
Integración exitosa. No sé muy bien porque falla o qué representa la cobertura. Lo voy a investigar. Acerca de la construcción automática de la aplicación, creo que habría que adjuntar los archivos .env para que lo realizara, cuestión incompatible de seguridad. Hay que asegurar esta parte también. Preguntaré a David acerca de las API_Keys embebidas en las .apk
El análisis de cobertura de pruebas implica tener test definidos para la aplicación y ejecutarlos
# package:test for this step to succeed. Note that Flutter projects will
# want to change this to 'flutter test'.
#- name: Run tests
# run: dart test project-app/project_app/
Al ver .env en el pubspec y no encontrarlo en el archivo no me deja hacer los tests...
Ya se generan los tests aunque sigue dando cobertura 0. Se usan las API_Keys sin revelarlas.
Sigue sin mostrar cobertura. Ya se compila bien el docker con las claves .env y falla al fallar algún test que he generado de prueba. En todo caso el porcentaje marcado en sonarcloud no sube del 0%
Se consigue integración. Faltaría que marcase la cobertura.
Se integrará Sonar Cloud en el proyecto para realizar un análisis continuo de la calidad del código. Esta herramienta permitirá detectar problemas como errores, vulnerabilidades, código duplicado y posibles fallos de seguridad, brindando métricas clave para la mejora continua del código. Con Sonar Cloud, será más fácil identificar y gestionar la deuda técnica, mejorando la mantenibilidad y la calidad global del producto. Se valorará alguna alternativa si ésta no está disponible para dart en su versión libre.