Points d’intégration GitHub
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. Il existe deux fournisseurs de cache binaires disponibles pour les référentiels GitHub, le fournisseur de cache GitHub Actions et le fournisseur de cache NuGet des packages GitHub. Pour plus d’informations sur ces fonctionnalités GitHub, consultez le cache GitHub Actions et les packages GitHub. Pour plus d’informations sur la mise en cache binaire vcpkg, consultez notre documentation sur la fonctionnalité de mise en cache binaire.
Notes
Cette section décrit une fonctionnalité expérimentale de vcpkg qui peut changer ou être supprimée à tout moment.
Le cache GitHub Actions est destiné à stocker les fichiers de build intermédiaires d’un référentiel qui ne changent pas souvent entre les travaux ou les exécutions de flux de travail. Pour les utilisateurs gitHub, le cache GitHub Actions est un élément naturel de la mise en cache binaire de vcpkg, et il est plus facile de configurer que l’intégration de mise en cache binaire du package GitHub de vcpkg. GitHub fournit quelques outils différents pour gérer vos caches Actions, qui incluent des API REST et une extension à l’outil gh
en ligne de commande, afin que vous puissiez optimiser les caches pour votre flux de travail. L’intégration de vcpkg au cache GitHub Actions est via le x-gha
fournisseur de source binaire.
Les packages GitHub permettent à un référentiel 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, GitHub Packages prend en charge un large éventail d’outils de gestion de packages en agissant comme registre de packages. vcpkg peut utiliser l’interface de Registre NuGet pour GitHub Packages comme cache pour les artefacts binaires vcpkg, à l’aide du nuget
fournisseur de source binaire. Cette intégration à GitHub Packages n’est pas aussi simple que l’intégration et la gestion du cache GitHub Actions des fichiers binaires mis en cache sont plus difficiles, ce qui rend le cache GitHub Actions plus efficace pour la plupart des utilisateurs.
Notes
Cette section décrit une fonctionnalité expérimentale de vcpkg qui peut changer ou être supprimée à tout moment.
Conseil
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 permet, faites-nous part de cela et nous allons nous assurer qu’elle est également adaptée aux bonnes personnes sur GitHub.
GitHub graphe des dépendances 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.
vcpkg a une prise en charge expérimentale pour remplir le graphe des 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_FLAGS
pour inclure la valeurdependencygraph
. - Définissez la variable d’environnement
GITHUB_TOKEN
sur 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 graphe des dépendances dans votre référentiel. Cela n’ajoute aucune validation à votre référentiel ni apporte toute autre modification au contenu de votre dépôt.
permissions:
contents: write
Vous devez activer le graphe des 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 graphe des dépendances afin de répondre à cette exigence.
- 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 des graphe des dépendances, telles que les alertes Dependabot et les demandes de tirage de Dependabot, ne sont pas encore disponibles. S’il vous plaît nous faire savoir si vous êtes intéressé par ces fonctionnalités !
Notes
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
Commentaires sur vcpkg
vcpkg est un projet open source. Sélectionnez un lien pour fournir des commentaires :