Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Almacenamiento en caché de archivos binarios compilados en vcpkg para los flujos de trabajo de Acciones de GitHub
La característica de almacenamiento en caché binaria de vcpkg reduce el tiempo necesario para compilar proyectos que usan Acciones de GitHub para la integración continua. Para obtener más información, lea la documentación de la característica de almacenamiento en caché binario.
Proveedor de caché nuGet de paquetes de GitHub
Los paquetes de GitHub permiten a los repositorios publicar artefactos binarios para uso público o privado. Más allá del almacenamiento de hospedaje para paquetes publicados, los paquetes de GitHub ofrecen soporte con una interfaz de registro NuGet que vcpkg puede usar como almacén de caché binario, con el proporcionador de origen binario nuget
.
Gráfico de dependencias de GitHub
Nota:
En esta sección se describe una característica experimental de vcpkg que puede cambiar o quitarse en cualquier momento.
Sugerencia
Estamos desarrollando activamente esta característica y nos gustaría escuchar sus comentarios. Háganos saber si tiene alguna idea sobre la funcionalidad actual o cualquier funcionalidad deseada mediante correo electrónico vcpkg@microsoft.com o mediante la presentación de un problema en vcpkg. Si tiene comentarios sobre cualquiera de las características de GitHub que esto permite, háganoslo saber también y nos aseguraremos de que llega a las personas adecuadas en GitHub.
Acerca del gráfico de dependencias de GitHub
El gráfico de dependencias de GitHub almacena el conjunto de dependencias de un repositorio. Más allá de poder visualizar las dependencias de un repositorio, GitHub compila varias características útiles sobre estos datos, incluidas las alertas de revisión de dependencias y Dependabot. Obtenga más información en la documentación de GitHub sobre cómo proteger la cadena de suministro.
Integración de vcpkg con el gráfico de dependencias de GitHub
vcpkg tiene compatibilidad experimental para rellenar el gráfico de dependencias de GitHub desde un flujo de trabajo de Acciones de GitHub. Para habilitar esta característica, realice los siguientes cambios en el archivo de flujo de trabajo:
- Establezca la variable de
VCPKG_FEATURE_FLAGS
entorno para incluir el valordependencygraph
. - Establezca la variable de
GITHUB_TOKEN
entorno en el valor${{ secrets.GITHUB_TOKEN }}
. - Proporcione a GitHub Actions acceso de escritura al contenido de su repositorio, incluyendo el siguiente bloque de permisos. Esto es necesario para escribir los metadatos del grafo de dependencia en el repositorio. Esto no agregará ninguna confirmación al repositorio ni realizará ninguna otra modificación en el contenido del repositorio.
permissions:
contents: write
Debe habilitar el gráfico de dependencias de GitHub en la configuración del repositorio (habilitado de forma predeterminada en repositorios públicos). Para los repositorios privados, siga la documentación de GitHub para habilitar el gráfico de dependencias para satisfacer este requisito.
Limitaciones conocidas
- Es posible que la versión de vcpkg empaquetada con ejecutores de Acciones de GitHub no esté actualizada. Use la versión más reciente de vcpkg para obtener acceso a esta característica y recibir las correcciones de errores más recientes.
- Las características que dependen del gráfico de dependencias, como las alertas de Dependabot y las solicitudes de incorporación de cambios de Dependabot, aún no están disponibles. Por favor, háganos saber si está interesado en esas características.
Ejemplo de flujo de trabajo de Acciones de GitHub
Nota:
En este ejemplo se supone que hay un manifiesto válido vcpkg.json
que enumera algunos puertos dependientes. Para obtener más información sobre los manifiestos, consulte nuestra documentación sobre el modo de manifiesto.
name: Populate dependencies
on:
push:
branches: [ main ]
workflow_dispatch:
permissions:
contents: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VCPKG_FEATURE_FLAGS: dependencygraph
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
# This will execute a dry-run, meaning that libraries will not be built and
# installed, but they will still be reported to the GitHub dependency graph.
# This step assumes `vcpkg` has been bootstrapped (run `./vcpkg/bootstrap-vcpkg`)
- name: Run vcpkg
run: ${{ github.workspace }}/vcpkg/vcpkg install --dry-run