Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise en cache des fichiers binaires basés sur vcpkg pour vos flux de travail GitHub Actions
La fonctionnalité de mise en cache binaire de vcpkg réduit le temps nécessaire pour générer des projets qui utilisent GitHub Actions pour l’intégration continue. Pour plus d’informations, consultez la documentation des fonctionnalités de mise en cache binaire.
Le fournisseur de cache NuGet de paquets GitHub
Les packages GitHub permettent aux référentiels de publier des artefacts binaires pour une utilisation publique ou privée. Au-delà de l’hébergement du stockage pour les packages publiés, la prise en charge des packages GitHub offre une interface de Registre NuGet que vcpkg peut utiliser comme cache binaire, avec le nuget fournisseur de source binaire.
Graphique des dépendances GitHub
Remarque
Cette section décrit une fonctionnalité expérimentale de vcpkg qui peut changer ou être supprimée à tout moment.
Conseil / Astuce
Nous développons activement cette fonctionnalité et aimerions entendre vos commentaires. Informez-nous si vous avez des idées sur les fonctionnalités actuelles ou les fonctionnalités souhaitées en envoyant un e-mail ou en plaçant vcpkg@microsoft.com un problème dans vcpkg. Si vous avez des commentaires sur l’une des fonctionnalités GitHub que cela active, faites-le nous savoir aussi et nous nous assurerons qu'elle parvient aux bonnes personnes chez GitHub.
À propos du graphique des dépendances GitHub
Le graphique des dépendances GitHub stocke l’ensemble de dépendances pour un référentiel. Au-delà de pouvoir visualiser les dépendances d’un référentiel, GitHub génère plusieurs fonctionnalités utiles sur ces données, notamment la révision des dépendances et les alertes Dependabot. Pour en savoir plus, consultez la documentation de GitHub sur la sécurisation de votre chaîne logistique.
Intégration de vcpkg au graphe des dépendances GitHub
vcpkg a une prise en charge expérimentale pour remplir le graphique de dépendances GitHub à partir d’un flux de travail GitHub Actions. Pour activer cette fonctionnalité, apportez les modifications suivantes dans votre fichier de flux de travail :
- Définissez la variable d’environnement
VCPKG_FEATURE_FLAGSpour inclure la valeurdependencygraph. - Définissez la variable d’environnement
GITHUB_TOKENsur la valeur${{ secrets.GITHUB_TOKEN }}. - Donnez à GitHub Actions un accès en écriture au contenu de votre référentiel en incluant le bloc d’autorisations suivant. Cela est nécessaire pour écrire les métadonnées du graphique de dépendances dans votre référentiel. Cela n’ajoutera aucune validation à votre dépôt ni ne fera toute autre modification au contenu de votre dépôt.
permissions:
contents: write
Vous devez activer le graphique de dépendances GitHub dans les paramètres de votre référentiel (activé par défaut sur les référentiels publics). Pour les référentiels privés, suivez la documentation GitHub pour activer le graphique de dépendances afin de répondre à cette exigence.
Limitations connues
- La version de vcpkg groupée avec les exécuteurs GitHub Actions peut ne pas être à jour. Utilisez la version la plus récente de vcpkg pour accéder à cette fonctionnalité et recevoir les derniers correctifs de bogues.
- Les fonctionnalités qui dépendent du graphe de dépendances, telles que les alertes Dependabot et les demandes d’extraction de Dependabot, ne sont pas encore disponibles. S’il vous plaît nous faire savoir si vous êtes intéressé par ces fonctionnalités !
Exemple de flux de travail GitHub Actions
Remarque
Cet exemple suppose qu’il existe un manifeste valide vcpkg.json qui répertorie certains ports dépendants. Pour plus d’informations sur les manifestes, consultez notre documentation sur le mode manifeste.
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