rOpenSci | ¡pkgcheck ahora disponible como acción de GitHub!

¡pkgcheck ahora disponible como acción de GitHub!

🔗 ¿Qué es pkgcheck?

El paquete pkgcheck ha sido desarrollado por rOpenSci para automatizar el proceso de la comprobación de todos los paquetes enviados para su revisión. El ropensci-review-bot ejecuta automáticamente pkgcheck en todos los envíos, y los editores también pueden activar las comprobaciones en cualquier momento utilizando el comando:

@ropensci-review-bot check package

El bot devolverá una lista de comprobaciones que debería tener este aspecto:

resultados de pkgcheck del envío reciente

Para estar listo para la revisión por pares, pkgcheck debe devolver una serie de ✔, que indican comprobaciones correctas, y no debe haber ningún símbolo ✘, que indica comprobaciones fallidas. Se recomienda a quien esté preparando un paquete para enviarlo que utilize: “utilizar pkgcheck” para confirmar que el paquete está listo para ser enviado. Hasta ahora, esto sólo era posible a través de la red local instalando el paquete y ejecutando el comando pkgcheck(). Las comprobaciones locales sufren dos desventajas importantes:

  1. Los resultados sólo pueden ser reproducibles en un sistema local, en lugar de ser reproducibles de forma general; y
  2. Las comprobaciones realizadas por pkgcheck incluyen todas las comprobaciones realizadas por el paquete rcmdcheck que puede tardar bastante tiempo en ejecutarse.

Al igual que la acción de GitHub rcmdcheck que puede instalarse fácilmente con una de las funciones use_github_action_check_... del paquete usethis, ahora, pkgcheck también tiene una acción de GitHub que supera estos dos inconvenientes ejecutándose remotamente en GitHub y generando resultados reproducibles.

🔗 La acción pkgcheck de GitHub

Este artículo es el anuncio “oficial” del lanzamiento de la acción pkgcheck, una acción de GitHub que permite ejecutar comprobaciones cada vez que se envía algún código a GitHub. La acción fue desarrollada por uno de nosotros (Jacob), y puede encontrarse en el GitHub en ropensci-review-tools/pkgcheck-action. La forma más sencilla de utilizar esta acción en tu propio repositorio es instalar el paquete pkgcheck y ejecutar la función use_github_action_pkgcheck(). Esto colocará un nuevo archivo en la carpeta .github/workflows y un directorio en tu paquete llamado “pkgcheck.yaml”, cuyo ejemplo se muestra en el README principal del repositorio pkgcheck-action. La acción consiste en una única tarea expresada en las líneas finales:

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: ropensci-review-tools/pkgcheck-action@main

Hay varios parámetros también descriptos en ese README principal, que pueden pasarse como parámetros a la función use_github_action_pkgcheck() o añadirla al archivo YAML del flujo de trabajo, como también se describe en el README. Una vez creada la acción en tu repositorio, puedes activarla añadiéndola en un commit de git y enviándola a GitHub.

🔗 Publicar los resultados de pkgcheck en un issue de GitHub

Además de que el flujo de trabajo imprima todos los detalles devueltos por la función principal de pkgcheck, el resultado de este también puede publicarse en un issue de GitHub, donde aparecerá exactamente como en el ejemplo anterior. Una vez finalizado el flujo de trabajo, recibirás una notificación y podrás ver los resultados de la comprobación (con un icono summary-only que determina si sólo se publicará en la incidencia un resumen de los resultados como el mostrado anteriormente, o si se publicarán los resultados completos que incluyen el resumen seguido de bastantes más detalles). El flujo de trabajo sólo tendrá éxito cuando se hayan superado todas las comprobaciones de pkgcheck.

🔗 Utilizar la acción pkgcheck para preparar el envío

Esta acción hace que la preparación de paquetes para su envío a la revisión por pares con rOpenSci sea mucho más fácil, al confirmar automáticamente si un paquete cumple los requisitos generales para el envío a rOpenSci. Puedes utilizar la acción pkgcheck para confirmar que un paquete está listo para su envío siguiendo estos tres sencillos pasos:

  1. Inserta la acción en tu repositorio con pkgcheck::use_github_action_pkgcheck().
  2. Añade y confirma el script de la acción en tu índice git, y envíalo a GitHub para activarlo.
  3. Examina los resultados en la incidencia creada automáticamente en tu repositorio de GitHub, modifica el repositorio para abordar cualquier comprobación que falle, y repite.
  4. Una vez superada la acción, verás: “✔ Este paquete puede ser enviado”.

También puedes poner un distintivo pkgcheck en tu README insertando una versión modificada de estas líneas:

[![pkgcheck](https://github.com/<org>/<repo>/workflows/pkgcheck/badge.svg)](https://github.com/<org>/<repo>/actions?query=workflow%3Apkgcheck)

Una vez que tu paquete supere todas las pruebas, el distintivo se volverá verde y tendrá este aspecto:

pkgcheckpkgcheckpasandopasando>

Así sabrás que tu paquete está listo para ser enviado.

Y por último, no dudes en hacer cualquier pregunta sobre el uso de pkgcheck-action, o informar de cualquier error en: https://github.com/ropensci-review-tools/pkgcheck-action/issues.