mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-29 23:29:41 +02:00
Enable vcpkg binary cache using Nuget
Add Nuget binary caching to vcpkg builds Enable Jfrog Artifactory as Nuget source in CI builds Add manual non-interactive Nuget authentication Prevent CMake from overwriting VCPKG_BINARY_SOURCES Use CI builds to auto generate cache artifacts within Artifactory Enable action trigger kind "workflow_dispatch" within `cmake_build.yml` Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
This commit is contained in:
parent
13914c5125
commit
03d8c31316
22
.github/workflows/cmake_build.yml
vendored
22
.github/workflows/cmake_build.yml
vendored
@ -5,6 +5,7 @@ on:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
defaults:
|
||||
run:
|
||||
@ -73,6 +74,7 @@ jobs:
|
||||
|
||||
VCPKG_DISABLE_METRICS: true
|
||||
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vcpkg_triplet }}
|
||||
VCPKG_BINARY_SOURCES: "clear;default,readwrite;nuget,https://tenacityteam.jfrog.io/artifactory/api/nuget/tenacity-nuget,readwrite"
|
||||
|
||||
# Windows codesigning
|
||||
# This variables will be used by all the steps
|
||||
@ -88,13 +90,31 @@ jobs:
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
|
||||
- name: Install Nuget
|
||||
uses: nuget/setup-nuget@v1
|
||||
with:
|
||||
# Nuget versions needs to be the same version that vcpkg expects
|
||||
# So update them in parallel
|
||||
nuget-version: 5.10.0
|
||||
|
||||
- name: Authenticate CI to Artifactory
|
||||
if: github.event_name == 'push' && github.repository_owner == 'tenacityteam'
|
||||
run: |
|
||||
nuget sources Add -Name Artifactory -Source https://tenacityteam.jfrog.io/artifactory/api/nuget/tenacity-nuget -username ${JFROG_ARTIFACTORY_NUGET_USER} -password ${JFROG_ARTIFACTORY_NUGET_PASS} -ForceEnglishOutput -NonInteractive
|
||||
nuget setapikey ${JFROG_ARTIFACTORY_NUGET_USER}:${JFROG_ARTIFACTORY_NUGET_TOKEN} -Source Artifactory -ForceEnglishOutput -NonInteractive
|
||||
env:
|
||||
JFROG_ARTIFACTORY_NUGET_USER: ${{secrets.JFROG_ARTIFACTORY_NUGET_USER}}
|
||||
JFROG_ARTIFACTORY_NUGET_PASS: ${{secrets.JFROG_ARTIFACTORY_NUGET_PASS}}
|
||||
JFROG_ARTIFACTORY_NUGET_TOKEN: ${{secrets.JFROG_ARTIFACTORY_NUGET_TOKEN}}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
exec bash "scripts/ci/dependencies.sh"
|
||||
|
||||
- name: Install Apple codesigning certificates
|
||||
uses: apple-actions/import-codesign-certs@v1
|
||||
if: startswith( matrix.config.os, 'macos' ) && github.event_name == 'push' && github.repository_owner == 'audacity'
|
||||
if: startswith( matrix.config.os, 'macos' ) && github.event_name == 'push' && github.repository_owner == 'tenacityteam'
|
||||
with:
|
||||
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE }}
|
||||
p12-password: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
||||
|
@ -24,6 +24,10 @@ endif()
|
||||
|
||||
if(VCPKG)
|
||||
set(ENV{VCPKG_DISABLE_METRICS} true)
|
||||
if(NOT DEFINED ENV{VCPKG_BINARY_SOURCES})
|
||||
set(ENV{VCPKG_BINARY_SOURCES} "clear;default,readwrite;nuget,https://tenacityteam.jfrog.io/artifactory/api/nuget/tenacity-nuget,read")
|
||||
endif()
|
||||
set(ENV{VCPKG_FEATURE_FLAGS} "-compilertracking,manifests,registries,versions")
|
||||
|
||||
if(VCPKG_ROOT)
|
||||
message(STATUS "Using dependencies from vcpkg repository at ${VCPKG_ROOT}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user