Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Cachelagring av vcpkg-byggda binärfiler för dina GitHub Actions-arbetsflöden
vcpkgs funktion för binär cachelagring minskar den tid det tar att skapa projekt som använder GitHub Actions för kontinuerlig integrering. Mer information finns i dokumentationen om funktionen för binär cachelagring.
NuGet-cacheprovidern för GitHub Packages
Med GitHub Packages kan lagringsplatser publicera binära artefakter för offentligt eller privat bruk. Utöver lagring för publicerade paket erbjuder stödet för GitHub Packages ett NuGet-registergränssnitt som vcpkg kan använda som binär cache med leverantören avnuget binära källor.
GitHub-beroendediagrammet
Anmärkning
Det här avsnittet beskriver en experimentell funktion av vcpkg som kan ändras eller tas bort när som helst.
Tips/Råd
Vi utvecklar aktivt den här funktionen och vill gärna höra din feedback. Låt oss veta om du har några tankar om den aktuella funktionen eller önskade funktioner genom att skicka e-post eller genom att vcpkg@microsoft.com lämna in ett problem i vcpkg. Om du har feedback om någon av de GitHub-funktioner som detta möjliggör kan du berätta det för oss också så ser vi till att det kommer till rätt personer på GitHub.
Om GitHub-beroendediagrammet
GitHub-beroendediagrammet lagrar uppsättningen beroenden för en lagringsplats. Förutom att kunna visualisera en lagringsplatss beroenden skapar GitHub flera användbara funktioner ovanpå dessa data, inklusive beroendegranskning och Dependabot-aviseringar. Läs mer i GitHubs dokumentation om hur du skyddar din leveranskedja.
vcpkg-integrering med GitHub-beroendediagrammet
vcpkg har experimentellt stöd för att fylla i GitHub-beroendediagrammet inifrån ett GitHub Actions-arbetsflöde. Om du vill aktivera den här funktionen gör du följande ändringar i arbetsflödesfilen:
-
VCPKG_FEATURE_FLAGSAnge miljövariabeln så att den innehåller värdetdependencygraph. -
GITHUB_TOKENAnge miljövariabeln till värdet${{ secrets.GITHUB_TOKEN }}. - Ge GitHub Actions skrivåtkomst till innehållet i din lagringsplats genom att inkludera följande behörighetsblock. Detta krävs för att skriva metadata för beroendediagram till lagringsplatsen. Detta kommer inte att lägga till några commits i ditt repository eller göra någon annan ändring av innehållet i ditt repository.
permissions:
contents: write
Du måste aktivera GitHub-beroendediagrammet i lagringsplatsens inställningar (aktiverad som standard på offentliga lagringsplatser). För privata lagringsplatser följer du GitHub-dokumentationen för att aktivera beroendediagrammet för att uppfylla detta krav.
Kända begränsningar
- Versionen av vcpkg som paketeras med GitHub Actions-löpare kanske inte är uppdaterad. Använd den senaste versionen av vcpkg för att få åtkomst till den här funktionen och få de senaste felkorrigeringarna.
- Funktioner som är beroende av beroendediagrammet, till exempel Dependabot-aviseringar och Dependabot-pull-begäranden, är ännu inte tillgängliga. Hör av dig till oss om du är intresserad av dessa funktioner!
Exempel på GitHub Actions-arbetsflöde
Anmärkning
Det här exemplet förutsätter att det finns ett giltigt vcpkg.json manifest som visar en lista över vissa beroende portar. Mer information om manifest finns i vår dokumentation om manifestläge.
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