GitHub tümleştirme noktaları

GitHub Actions iş akışlarınız için vcpkg ile oluşturulmuş ikili dosyaları önbelleğe alma

vcpkg'nin ikili önbelleğe alma özelliği, sürekli tümleştirme için GitHub Actions kullanan projeler oluşturmak için gereken süreyi azaltır. Daha fazla bilgi için ikili önbelleğe alma özelliği belgelerini okuyun.

GitHub Packages NuGet önbellek sağlayıcısı

GitHub Packages , depoların ortak veya özel kullanım için ikili yapıtlar yayımlamasına olanak sağlar. GitHub Packages desteği, yayımlanan paketler için depolama alanının ötesinde, vcpkg'nin ikili kaynak sağlayıcısıylanuget ikili önbellek olarak kullanabileceği bir NuGet kayıt defteri arabirimi sunar.

GitHub bağımlılık grafiği

Uyarı

Bu bölüm, vcpkg'nin herhangi bir zamanda değişebilen veya kaldırılabilen deneysel bir özelliğini kapsar.

İpucu

Bu özelliği etkin bir şekilde geliştiriyoruz ve geri bildiriminizi duymak istiyoruz. E-posta vcpkg@microsoft.com göndererek veya vcpkg'de bir sorun bildirerek geçerli işlevsellik veya istenen işlevler hakkında herhangi bir düşünceniz olup olmadığını bize bildirin. Bunun etkinleştirmiş olduğu GitHub özelliklerinden herhangi biri hakkında geri bildiriminiz varsa bunu da bize bildirin ve GitHub'da doğru kişiye ulaştığından emin olalım.

GitHub bağımlılık grafiği hakkında

GitHub bağımlılık grafiği, bir depo için bağımlılık kümesini depolar. GitHub, bir deponun bağımlılıklarını görselleştirmenin ötesinde, bağımlılık gözden geçirme ve Dependabot uyarıları dahil olmak üzere bu verilerin üzerine birkaç kullanışlı özellik oluşturur. GitHub'ın tedarik zincirinizin güvenliğini sağlama belgelerinde daha fazla bilgi edinin.

GitHub bağımlılık grafiğiyle vcpkg tümleştirmesi

vcpkg, GitHub Actions iş akışı içinden GitHub bağımlılık grafiğini doldurmaya yönelik deneysel desteğe sahiptir. Bu özelliği etkinleştirmek için iş akışı dosyanızda aşağıdaki değişiklikleri yapın:

  • ortam değişkenini VCPKG_FEATURE_FLAGS değerini dependencygraphiçerecek şekilde ayarlayın.
  • ortam değişkenini GITHUB_TOKEN değerine ${{ secrets.GITHUB_TOKEN }}ayarlayın.
  • Aşağıdaki izin bloğunu ekleyerek GitHub Actions'a deponuzun içeriğine yazma erişimi verin. Bu, bağımlılık grafiği meta verilerini deponuza yazmak için gereklidir. Bu işlem deponuza herhangi bir işleme eklemez veya deponuzun içeriğinde başka bir değişiklik yapmaz.
permissions:
  contents: write

GitHub bağımlılık grafiğini deponuzun ayarlarında etkinleştirmeniz gerekir (genel depolarda varsayılan olarak etkindir). Özel depolar için, bu gereksinimi karşılamak üzere bağımlılık grafiğini etkinleştirmek için GitHub belgelerini izleyin.

Bilinen sınırlamalar

  • GitHub Actions çalıştırıcılarıyla birlikte gelen vcpkg sürümü güncel olmayabilir. Bu özelliğe erişmek ve en son hata düzeltmelerini almak için vcpkg'nin en son sürümünü kullanın.
  • Dependabot uyarıları ve Dependabot pull requestler gibi bağımlılık grafiğine dayalı özellikler henüz kullanılamıyor. Bu özelliklerle ilgileniyorsanız lütfen bize bildirin!

Örnek GitHub Actions iş akışı

Uyarı

Bu örnekte, bazı bağımlı bağlantı noktalarını listeleyen geçerli vcpkg.json bir bildirim olduğu varsayılır. Bildirimler hakkında daha fazla bilgi için bildirim modu belgelerimize bakın.

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