Restrictions when Dependabot triggers events
El Dependabot puede activar flujos de trabajo de las GitHub Actions en sus solicitudes de cambios y comentarios; sin embargo, algunos eventos se tratan de forma distinta.
For workflows initiated by Dependabot (github.actor == 'dependabot[bot]') using the pull_request, pull_request_review, pull_request_review_comment, push, create, deployment, and deployment_status events, these restrictions apply:
GITHUB_TOKENhas read-only permissions by default.- Secrets are populated from Dependabot secrets. GitHub Actions secrets are not available.
For workflows initiated by Dependabot (github.actor == 'dependabot[bot]') using the pull_request_target event, if the base ref of the pull request was created by Dependabot (github.event.pull_request.user.login == 'dependabot[bot]'), the GITHUB_TOKEN will be read-only and secrets are not available.
These restrictions apply even if the workflow is re-run by a different actor.
For more information, see Keeping your GitHub Actions and workflows secure: Preventing pwn requests.
Requirements for using Dependabot with self-hosted runners
To generate Dependabot updates using self-hosted runners, you need to properly configure your system, network, and certificates.
System requirements
Cualquier máquina virtual (VM) que use para los ejecutores del Dependabot debe cumplir los requisitos de los ejecutores autohospedados. Además, deben cumplir los siguientes requisitos.
-
Sistema operativo Linux
-
Arquitectura x64
-
Tener Docker instalado con acceso para los usuarios del ejecutor:
- Se recomienda instalar Docker en modo sin raíz y configurar los ejecutores para acceder a Docker sin privilegios
root. - Como alternativa, instale Docker y conceda a los usuarios del ejecutor privilegios para ejecutar Docker.
- Se recomienda instalar Docker en modo sin raíz y configurar los ejecutores para acceder a Docker sin privilegios
Los requisitos de CPU y memoria dependerán del número de ejecutores simultáneos que implemente en una máquina virtual determinada. A modo de guía, hemos configurado correctamente 20 ejecutores en una sola máquina de 8 GB de 2 CPU pero, en última instancia, los requisitos de CPU y memoria dependerán en gran medida de los repositorios que se actualicen. Algunos ecosistemas requerirán más recursos que otros.
Si especifica más de 14 ejecutores simultáneos en una máquina virtual, también debe actualizar la configuración /etc/docker/daemon.json de Docker para aumentar el número predeterminado de redes que puede crear Docker.
{
"default-address-pools": [
{"base":"10.10.0.0/16","size":24}
]
}
Network requirements
Los ejecutores del Dependabot necesitan acceso al internet público, a GitHub.com y a cualquier registro interno que se utilizará en Dependabot updates. Para minimizar el riesgo de la red interna, debe limitar el acceso desde la máquina virtual (VM) a la red interna. Esto reduce la posibilidad de que se produzcan daños en los sistemas internos si un ejecutor descarga una dependencia secuestrada.
También debes permitir el tráfico saliente a dependabot-actions.githubapp.com para evitar que se produzcan errores en los trabajos para Dependabot security updates. Para más información, consulta Referencia de ejecutores autohospedados.
Certificate configuration
If Dependabot needs to interact with registries that use self-signed certificates, those certificates must also be installed on the self-hosted runners that run Dependabot jobs. This security hardens the connection. You must also configure Node.js to use the certificate, because most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store.