GitHub-integrációs pontok

Vcpkg-alapú bináris fájlok gyorsítótárazása a GitHub Actions-munkafolyamatokhoz

A vcpkg bináris gyorsítótárazási funkciója csökkenti a GitHub Actionst használó projektek folyamatos integrációjához szükséges időt. További információkért olvassa el a bináris gyorsítótárazási funkció dokumentációját.

A GitHub Packages NuGet gyorsítótárszolgáltatója

A GitHub Packages lehetővé teszi, hogy az adattárak nyilvános vagy privát használatra tegyenek közzé bináris összetevőket. A közzétett csomagok tárolásán túl a GitHub Packages támogatása olyan NuGet regisztrációs felületet is kínál, amelyet a vcpkg bináris gyorsítótárként használhat a nuget bináris forrásszolgáltatóval együtt.

A GitHub függőségi gráfja

Megjegyzés:

Ez a szakasz a vcpkg egy kísérleti funkcióját ismerteti, amely bármikor megváltozhat vagy eltávolítható.

Jótanács

Aktívan fejlesztjük ezt a funkciót, és szeretnénk hallani a visszajelzését. Tudassa velünk, ha bármilyen gondolata van az aktuális funkcióról vagy a kívánt funkciókról e-mailben vcpkg@microsoft.com vagy a vcpkg-ben található probléma bejelentésével. Ha visszajelzést kap az ezzel elérhető GitHub-funkciókról, erről is tudassa velünk, és gondoskodunk róla, hogy a GitHubon a megfelelő felhasználókhoz jut el.

Tudnivalók a GitHub függőségi gráfjáról

A GitHub függőségi gráfja tárolja az adattár függőségeinek készletét. Az adattár függőségeinek vizualizációja mellett a GitHub számos hasznos funkciót épít fel ezen adatokra, köztük a függőségek áttekintését és a Dependabot-riasztásokat. További információ a GitHub ellátási lánc védelméről szóló dokumentációjában.

vcpkg-integráció a GitHub függőségi gráfjával

A vcpkg kísérleti támogatást nyújt a GitHub függőségi gráfjának GitHub Actions-munkafolyamatból való feltöltéséhez. A funkció engedélyezéséhez végezze el a következő módosításokat a munkafolyamat-fájlban:

  • Állítsa be a VCPKG_FEATURE_FLAGS környezeti változót úgy, hogy az tartalmazza az értéket dependencygraph.
  • Állítsa a GITHUB_TOKEN környezeti változót az értékre ${{ secrets.GITHUB_TOKEN }}.
  • Adjon a GitHub Actionsnek írási hozzáférést az adattár tartalmához az alábbi engedélyblokk beírásával. Ez szükséges a függőségi gráf metaadatainak az adattárba való írásához. Ez nem ad hozzá véglegesítéseket az adattárhoz, és nem módosítja az adattár tartalmát.
permissions:
  contents: write

Engedélyeznie kell a GitHub függőségi gráfját az adattár beállításaiban (alapértelmezés szerint engedélyezve a nyilvános adattárakban). Magánadattárak esetén kövesse a GitHub dokumentációját a függőségi gráf engedélyezéséhez , hogy megfeleljen ennek a követelménynek.

Ismert korlátozások

  • Előfordulhat, hogy a GitHub Actions-futókkal csomagolt vcpkg verziója nem naprakész. A vcpkg legújabb verziójával hozzáférhet ehhez a funkcióhoz, és megkapja a legújabb hibajavításokat.
  • A függőségi gráftól függő funkciók, például a Dependabot-riasztások és a Dependabot lekéréses kérelmei még nem érhetők el. Kérjük, tudassa velünk, ha érdeklik ezek a funkciók!

Példa GitHub Actions-munkafolyamatra

Megjegyzés:

Ez a példa feltételezi, hogy van egy érvényes vcpkg.json jegyzék, amely felsorol néhány függő portot. A jegyzékekkel kapcsolatos további információkért tekintse meg a jegyzék mód dokumentációját.

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