Skip to content
This repository was archived by the owner on Dec 18, 2022. It is now read-only.

Implement Nuget Caching#525

Merged
emabrey merged 2 commits intomasterfrom
nuget-cache
Aug 22, 2021
Merged

Implement Nuget Caching#525
emabrey merged 2 commits intomasterfrom
nuget-cache

Conversation

@emabrey
Copy link
Member

@emabrey emabrey commented Aug 21, 2021

Add support for binary caching for vcpkg using nuget to access the tenacityteam Artifactory instance. @emabrey is administrating the Artifactory instance and is able to provide user accounts with appropriate permissions to anyone who needs one (though honestly, that is basically nobody, since the Artifactory instance supports anonymous reads, so you don't need to have an authentication source setup to use it from within CMake, it should just work).

This setup:

  • Only writes to the Artifactory instance using a non-administrator account which can be revoked easily should it somehow be compromised
  • Only writes cache artifacts to Artifactory on an actual push event (which is currently only triggered for the master branch)
  • If authentication fails or we are on a pull request or a fork, the cache can still be used to read the binaries, but not write, and the fallback is graceful
  • Utilizes new Github repo secrets to provide authentication
  • Also fixes a minor issue with MacOS signing where it would never run because it was looking for the "audacity" repo owner

Please note that even though it claims to enable "readwrite" to the Artifactory instance globally without reservation, without the authentication tokens nothing actually happens other than the "read" scenario which is the default anyway.

Checklist
  • I have signed off my commits using -s or Signed-off-by* (See: Contributing § DCO)
  • I made sure the code compiles on my machine
  • I made sure there are no unnecessary changes in the code*
  • I made sure the title of the PR reflects the core meaning of the issue you are solving*
  • I made sure the commit message(s) contain a description and answer the question "Why do those changes fix that particular issue?" or "Why are those changes really necessary as improvements?"*

* indicates required

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>
@emabrey emabrey force-pushed the nuget-cache branch 3 times, most recently from 1036e92 to 07797c8 Compare August 21, 2021 16:21
@emabrey emabrey marked this pull request as ready for review August 21, 2021 16:49
@emabrey emabrey requested review from a team and Be-ing August 21, 2021 16:49
Since vcpkg no longer always generates buildtree logs ignore them missing

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
@Be-ing
Copy link
Contributor

Be-ing commented Aug 21, 2021

Have you added the secrets yet? The authentication step is being skipped.

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

Have you added the secrets yet? The authentication step is being skipped.

It's being skipped because this is a pull request. It only runs on pushes to master. I tested that it works before adding that conditional, so that's the only reason it's not pushing to Artifactory. I didn't want our build cache clogged with PR gunk, and I also consider letting PRs push the build cache to be a glaring security problem, considering the ease with which a malicious PR could just modify the zip files.

@Be-ing
Copy link
Contributor

Be-ing commented Aug 21, 2021

I cannot confirm that this works without the cache being populated from this branch. I do not think populating the cache should require merging to master; I'd want any upstream branch to have permission to populate the cache.

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

I cannot confirm that this works without the cache being populated from this branch. I do not think populating the cache should require merging to master; I'd want any upstream branch to have permission to populate the cache.

The binary caching is to speed up new contributor on-boarding not to provide a general bitbucket for caching every conceivable type of dev build (between compilers/codebase/OS that's a lot of different configurations). We can't store an infinite amount of things in the Artifactory instance.

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

I cannot confirm that this works without the cache being populated from this branch. I do not think populating the cache should require merging to master; I'd want any upstream branch to have permission to populate the cache.

Ultimately this is an administrative CI change so I can merge it and you can verify it post-merge. CI can't really be perfectly subject to the contrib guidelines for this exact reason.

@Be-ing
Copy link
Contributor

Be-ing commented Aug 21, 2021

I'm not confident that this works and won't require a bunch of tiny fixup commits on master without seeing it working before merging.

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

I'm not confident that this works and won't require a bunch of tiny fixup commits on master without seeing it working before merging.

I'll duplicate it to my branch and remove the conditional.

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

I'm not confident that this works and won't require a bunch of tiny fixup commits on master without seeing it working before merging.

https://github.com/emabrey/tenacity/runs/3390272343?check_suite_focus=true

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

Also you can verify the file upload messages are actually resulting in files being uploaded to Artifactory here: https://tenacityteam.jfrog.io/artifactory/tenacity-nuget/

@emabrey emabrey requested a review from a team August 21, 2021 20:22
@Be-ing
Copy link
Contributor

Be-ing commented Aug 21, 2021

Nice. Now if you build locally after clearing the local binary cache, does vcpkg use the cache from Artifactory or does it rebuild everything?

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

Nice. Now if you build locally after clearing the local binary cache, does vcpkg use the cache from Artifactory or does it rebuild everything?

It uses the local cache first, remote cache second, and builds as a last resort.

# cmake -B build
-- Building for: Visual Studio 16 2019
-- Found Git: C:/Programming/Links/git/cmd/git.exe (found version "2.33.0.windows.1")
-- Using dependencies from vcpkg Git submodule
-- Running vcpkg install
The following packages will be built and installed:
  * atlmfc[core]:x64-windows -> 0
    expat[core]:x64-windows -> 2.4.1
    ffmpeg[avcodec,avdevice,avfilter,avformat,core,gpl,postproc,swresample,swscale]:x64-windows -> 4.4#12
  * jack2[core]:x64-windows -> 1.9.19
  * libflac[core]:x64-windows -> 1.3.3#5
    libid3tag[core]:x64-windows -> 0.16.1 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\libid3tag
  * libjpeg-turbo[core]:x64-windows -> 2.0.6
  * liblzma[core]:x64-windows -> 5.2.5#3
    libmad[core]:x64-windows -> 0.15.1-8
  * libogg[core]:x64-windows -> 1.3.5
  * libpng[core]:x64-windows -> 1.6.37#15
    libsbsms[core]:x64-windows -> 2.3.0#1 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\libsbsms
    libsndfile[core,external-libs]:x64-windows -> 1.0.31
  * libvorbis[core]:x64-windows -> 1.3.7#1
    lilv[core]:x64-windows -> 0.24.10
  * lv2[core]:x64-windows -> 1.18.0
    mp3lame[core]:x64-windows -> 3.100#6
  * opus[core]:x64-windows -> 1.3.1#5
    portaudio[core,jack]:x64-windows -> 2021-08-05 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\portaudio
    portmidi[core]:x64-windows -> 0.236 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\portmidi
    portsmf[core]:x64-windows -> 0.239 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\portsmf
  * pthreads[core]:x64-windows -> 3.0.0#10
  * serd[core]:x64-windows -> 0.30.4
  * sord[core]:x64-windows -> 0.16.4
    soundtouch[core]:x64-windows -> 2.2.0 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\soundtouch

    soxr[core]:x64-windows -> 0.1.3#3
    sqlite3[core]:x64-windows -> 3.35.5
  * sratom[core]:x64-windows -> 0.6.4
  * tiff[core,jpeg,lzma,zip]:x64-windows -> 4.3.0#1
  * tre[core]:x64-windows -> 0.8.0#2
    twolame[core]:x64-windows -> 0.5 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\twolame
    vamp-sdk[core]:x64-windows -> 2.10 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\vamp-sdk
  * vcpkg-cmake[core]:x64-windows -> 2021-07-30
  * vcpkg-cmake-config[core]:x64-windows -> 2021-05-22#1
  * vcpkg-pkgconfig-get-modules[core]:x64-windows -> 2021-04-02#1
    wxwidgets[core]:x64-windows -> 3.1.5#3 -- C:/Users/emily/Documents/GitHub/tenacityteam-tenacity/vcpkg/overlay/ports\wxwidgets

    zlib[core]:x64-windows -> 1.2.11#11
Additional packages (*) will be modified to complete this operation.
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\6c\6c2df593d5a6c46b5dd4bd6927850431102c5608221a72f3fd2696e13930c1ef.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\6a\6a592676a3594887b14606a26cdf1b5da80d4ef895d90acff6833dc3fb1890b9.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\79\7939917247e474df39abded8cd9891aaeed199acf1d0d8f79414981020623f5b.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\1d\1dfd0ed2263c6b9e3da430c8e80f0f89b750b6af2b3d7874d0375bcd593001d6.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\ad\ad0251bbe1a6fc5faf141b8ac484969dab7acd9f908b4e4c9fa3614bf1353021.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\07\072f4aa9a4247129b462a06f576a5d32e5045daf8c5e7151910985ca06596351.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\2b\2bbeb37118f86fb74b78da3772d20a13f705478f651f58d01d3097f8a8ebdb02.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\3d\3da3dc5bf31214273aeb66a8fbfb00fd8a9e76e7d745369000be78ab265b10f7.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\37\371fc9949531408041b34497cd4609c8c174bf7433136e83fc42894e8f94c878.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\bb\bb6bbab31f8aded67b0c35a2f56f5aa96d419c135cf150c04d7d42c8c9773244.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\9a\9ace0c081a0aa5c6e0b226af7e5e0e699d3ccdfb8643bfc4559cda06bb573165.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\9b\9b29e5345cac82c5bb0926db64f0e9e9feb29b21cc8537ab2522a2085e2dee45.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\fc\fccc73e68dcfc8d858f389eb33583c18cf6e3302027dc14f8fc8e8064ccbec8a.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\78\787842597116f9e78a7f6a7d24d2f5db944fbc4cb542b94eb9e6629a5425d722.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\28\2895934084d5e72bf00b8c2cf56b98655983f343f464099462d3e8dc3e9315a6.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\fe\fe5283a65de9040cf232ef4797bd4061c366a7cfc6e0acfe0a8fe2e79d18a2e8.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\e0\e0cc3b4e0e1a24304c1840e12b658ab503c7c97fe3c4f7b1b4c9ab7ec0b5bf1c.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\7b\7b1cfa28cbf0c2db8ff1557297b843c69b6b8c6acc0f5d197053fb2f135dc203.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\f1\f1ffc17477eef5c2478fd817d17ae20705147ca496305871dabcd107d8250393.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\c4\c46104c5772399577063b82fae77cfec3a86badd0421e52bb754490a85b7ab33.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\27\271dd3dce029f87805bfa8b5506963e8561ade99e36798eef16e0339151767b2.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\ea\ea185d8960b05aaff2197e5f287a0c94bd589cc2bb3bd535c2248e0690183d3a.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\e8\e888e36876fd5869af40479fef64ac6a5788240e2dc40fb7304f0ba9cb9d2cfd.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\71\717209db082b3986291dcfb51ebcb46f4a2acd771094052b34d255283976d533.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\13\132e591d4ba3663f2f7b85ede254aaebdcbec87b78e1d0f4865e3c4c6d356a6b.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\85\857ae4eddf0d8c0aae69da79e45aa1c1459fad7a8b0f1382172b4b2c9e22c6ed.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\93\934cf76b27d60f3c59332b5e769bc75ddc4fe86d8111d65a5443f6aceba1bf02.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\8b\8b11e921564741ae9a280275639e36617d7eeabace74aaaa2ebc085c2759a865.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\9a\9a5fd4a7c14ff6f9d3364c5437e20a4bb53d0bba0781d06c4dec35d76ff0d35c.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\b3\b368e31de1d1403ed2d647891e517e4f7a8758197a1bd730b4be1dc08203acf0.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\9b\9b2725a1c6705f2aa5747ffd315a5db273e07090998f1b998c1c715586dbf9d8.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\96\96ff73d0039f2c21108f4621e3b50d7824e1765d183d5fbfed0a131ff268dca8.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\7e\7e0f9e5a15335590b2e41dd88a8b069ec084df33b8bf3c1c288b91f39c4ce5d3.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\03\037060ca5ca9dfcbeb371e0562e8a9d445725982a46d858658a59f7938732595.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\83\834c047bec67ac67aa54271ada2619bcf1807423818ed2a6353431ec6d6938c5.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\eb\eb38d647a49fdb92b549f5cfdb208a0d64a993ac47264a9ad64ccf2365cb6d92.zip
Could not locate cached archive: C:\Users\emily\AppData\Local\vcpkg\archives\22\22b4e56d5cf17173507b5ee67b937653888c68bc2b621946eee01256139cc68a.zip
Attempting to fetch 37 packages from nuget.
Restored 37 packages from NuGet. Use --debug for more information.
Starting package 1/37: expat:x64-windows
Building package expat[core]:x64-windows...
Building package expat[core]:x64-windows... done
Installing package expat[core]:x64-windows...
Installing package expat[core]:x64-windows... done
Elapsed time for package expat:x64-windows: 454.7 ms
Starting package 2/37: vcpkg-pkgconfig-get-modules:x64-windows
Building package vcpkg-pkgconfig-get-modules[core]:x64-windows...
Building package vcpkg-pkgconfig-get-modules[core]:x64-windows... done
Installing package vcpkg-pkgconfig-get-modules[core]:x64-windows...
Installing package vcpkg-pkgconfig-get-modules[core]:x64-windows... done
Elapsed time for package vcpkg-pkgconfig-get-modules:x64-windows: 80.16 ms
Starting package 3/37: vcpkg-cmake:x64-windows
Building package vcpkg-cmake[core]:x64-windows...
Building package vcpkg-cmake[core]:x64-windows... done
Installing package vcpkg-cmake[core]:x64-windows...
Installing package vcpkg-cmake[core]:x64-windows... done
Elapsed time for package vcpkg-cmake:x64-windows: 134.1 ms
Starting package 4/37: ffmpeg:x64-windows
Building package ffmpeg[avcodec,avdevice,avfilter,avformat,core,gpl,postproc,swresample,swscale]:x64-windows...
Building package ffmpeg[avcodec,avdevice,avfilter,avformat,core,gpl,postproc,swresample,swscale]:x64-windows... done
Installing package ffmpeg[avcodec,avdevice,avfilter,avformat,core,gpl,postproc,swresample,swscale]:x64-windows...
Installing package ffmpeg[avcodec,avdevice,avfilter,avformat,core,gpl,postproc,swresample,swscale]:x64-windows... done
Elapsed time for package ffmpeg:x64-windows: 4.459 s
Starting package 5/37: zlib:x64-windows
Building package zlib[core]:x64-windows...
Building package zlib[core]:x64-windows... done
Installing package zlib[core]:x64-windows...
Installing package zlib[core]:x64-windows... done
Elapsed time for package zlib:x64-windows: 348 ms
Starting package 6/37: vcpkg-cmake-config:x64-windows
Building package vcpkg-cmake-config[core]:x64-windows...
Building package vcpkg-cmake-config[core]:x64-windows... done
Installing package vcpkg-cmake-config[core]:x64-windows...
Installing package vcpkg-cmake-config[core]:x64-windows... done
Elapsed time for package vcpkg-cmake-config:x64-windows: 63.09 ms
Starting package 7/37: libid3tag:x64-windows
Building package libid3tag[core]:x64-windows...
Building package libid3tag[core]:x64-windows... done
Installing package libid3tag[core]:x64-windows...
Installing package libid3tag[core]:x64-windows... done
Elapsed time for package libid3tag:x64-windows: 427.2 ms
Starting package 8/37: libmad:x64-windows
Building package libmad[core]:x64-windows...
Building package libmad[core]:x64-windows... done
Installing package libmad[core]:x64-windows...
Installing package libmad[core]:x64-windows... done
Elapsed time for package libmad:x64-windows: 117.3 ms
Starting package 9/37: libsbsms:x64-windows
Building package libsbsms[core]:x64-windows...
Building package libsbsms[core]:x64-windows... done
Installing package libsbsms[core]:x64-windows...
Installing package libsbsms[core]:x64-windows... done
Elapsed time for package libsbsms:x64-windows: 382.9 ms
Starting package 10/37: opus:x64-windows
Building package opus[core]:x64-windows...
Building package opus[core]:x64-windows... done
Installing package opus[core]:x64-windows...
Installing package opus[core]:x64-windows... done
Elapsed time for package opus:x64-windows: 414 ms
Starting package 11/37: libogg:x64-windows
Building package libogg[core]:x64-windows...
Building package libogg[core]:x64-windows... done
Installing package libogg[core]:x64-windows...
Installing package libogg[core]:x64-windows... done
Elapsed time for package libogg:x64-windows: 348.5 ms
Starting package 12/37: libvorbis:x64-windows
Building package libvorbis[core]:x64-windows...
Building package libvorbis[core]:x64-windows... done
Installing package libvorbis[core]:x64-windows...
Installing package libvorbis[core]:x64-windows... done
Elapsed time for package libvorbis:x64-windows: 668 ms
Starting package 13/37: libflac:x64-windows
Building package libflac[core]:x64-windows...
Building package libflac[core]:x64-windows... done
Installing package libflac[core]:x64-windows...
Installing package libflac[core]:x64-windows... done
Elapsed time for package libflac:x64-windows: 696.5 ms
Starting package 14/37: libsndfile:x64-windows
Building package libsndfile[core,external-libs]:x64-windows...
Building package libsndfile[core,external-libs]:x64-windows... done
Installing package libsndfile[core,external-libs]:x64-windows...
Installing package libsndfile[core,external-libs]:x64-windows... done
Elapsed time for package libsndfile:x64-windows: 483.9 ms
Starting package 15/37: serd:x64-windows
Building package serd[core]:x64-windows...
Building package serd[core]:x64-windows... done
Installing package serd[core]:x64-windows...
Installing package serd[core]:x64-windows... done
Elapsed time for package serd:x64-windows: 228.2 ms
Starting package 16/37: sord:x64-windows
Building package sord[core]:x64-windows...
Building package sord[core]:x64-windows... done
Installing package sord[core]:x64-windows...
Installing package sord[core]:x64-windows... done
Elapsed time for package sord:x64-windows: 256.3 ms
Starting package 17/37: lv2:x64-windows
Building package lv2[core]:x64-windows...
Building package lv2[core]:x64-windows... done
Installing package lv2[core]:x64-windows...
Installing package lv2[core]:x64-windows... done
Elapsed time for package lv2:x64-windows: 637.5 ms
Starting package 18/37: sratom:x64-windows
Building package sratom[core]:x64-windows...
Building package sratom[core]:x64-windows... done
Installing package sratom[core]:x64-windows...
Installing package sratom[core]:x64-windows... done
Elapsed time for package sratom:x64-windows: 306.1 ms
Starting package 19/37: lilv:x64-windows
Building package lilv[core]:x64-windows...
Building package lilv[core]:x64-windows... done
Installing package lilv[core]:x64-windows...
Installing package lilv[core]:x64-windows... done
Elapsed time for package lilv:x64-windows: 310.7 ms
Starting package 20/37: mp3lame:x64-windows
Building package mp3lame[core]:x64-windows...
Building package mp3lame[core]:x64-windows... done
Installing package mp3lame[core]:x64-windows...
Installing package mp3lame[core]:x64-windows... done
Elapsed time for package mp3lame:x64-windows: 453.4 ms
Starting package 21/37: tre:x64-windows
Building package tre[core]:x64-windows...
Building package tre[core]:x64-windows... done
Installing package tre[core]:x64-windows...
Installing package tre[core]:x64-windows... done
Elapsed time for package tre:x64-windows: 195.2 ms
Starting package 22/37: pthreads:x64-windows
Building package pthreads[core]:x64-windows...
Building package pthreads[core]:x64-windows... done
Installing package pthreads[core]:x64-windows...
Installing package pthreads[core]:x64-windows... done
Elapsed time for package pthreads:x64-windows: 688.8 ms
Starting package 23/37: jack2:x64-windows
Building package jack2[core]:x64-windows...
Building package jack2[core]:x64-windows... done
Installing package jack2[core]:x64-windows...
Installing package jack2[core]:x64-windows... done
Elapsed time for package jack2:x64-windows: 463.8 ms
Starting package 24/37: portaudio:x64-windows
Building package portaudio[core,jack]:x64-windows...
Building package portaudio[core,jack]:x64-windows... done
Installing package portaudio[core,jack]:x64-windows...
Installing package portaudio[core,jack]:x64-windows... done
Elapsed time for package portaudio:x64-windows: 715.1 ms
Starting package 25/37: portmidi:x64-windows
Building package portmidi[core]:x64-windows...
Building package portmidi[core]:x64-windows... done
Installing package portmidi[core]:x64-windows...
Installing package portmidi[core]:x64-windows... done
Elapsed time for package portmidi:x64-windows: 556.1 ms
Starting package 26/37: portsmf:x64-windows
Building package portsmf[core]:x64-windows...
Building package portsmf[core]:x64-windows... done
Installing package portsmf[core]:x64-windows...
Installing package portsmf[core]:x64-windows... done
Elapsed time for package portsmf:x64-windows: 411.1 ms
Starting package 27/37: atlmfc:x64-windows
Building package atlmfc[core]:x64-windows...
Building package atlmfc[core]:x64-windows... done
Installing package atlmfc[core]:x64-windows...
Installing package atlmfc[core]:x64-windows... done
Elapsed time for package atlmfc:x64-windows: 31.06 ms
Starting package 28/37: soundtouch:x64-windows
Building package soundtouch[core]:x64-windows...
Building package soundtouch[core]:x64-windows... done
Installing package soundtouch[core]:x64-windows...
Installing package soundtouch[core]:x64-windows... done
Elapsed time for package soundtouch:x64-windows: 328.5 ms
Starting package 29/37: soxr:x64-windows
Building package soxr[core]:x64-windows...
Building package soxr[core]:x64-windows... done
Installing package soxr[core]:x64-windows...
Installing package soxr[core]:x64-windows... done
Elapsed time for package soxr:x64-windows: 180.8 ms
Starting package 30/37: sqlite3:x64-windows
Building package sqlite3[core]:x64-windows...
Building package sqlite3[core]:x64-windows... done
Installing package sqlite3[core]:x64-windows...
Installing package sqlite3[core]:x64-windows... done
Elapsed time for package sqlite3:x64-windows: 320.6 ms
Starting package 31/37: twolame:x64-windows
Building package twolame[core]:x64-windows...
Building package twolame[core]:x64-windows... done
Installing package twolame[core]:x64-windows...
Installing package twolame[core]:x64-windows... done
Elapsed time for package twolame:x64-windows: 270.5 ms
Starting package 32/37: vamp-sdk:x64-windows
Building package vamp-sdk[core]:x64-windows...
Building package vamp-sdk[core]:x64-windows... done
Installing package vamp-sdk[core]:x64-windows...
Installing package vamp-sdk[core]:x64-windows... done
Elapsed time for package vamp-sdk:x64-windows: 646.1 ms
Starting package 33/37: liblzma:x64-windows
Building package liblzma[core]:x64-windows...
Building package liblzma[core]:x64-windows... done
Installing package liblzma[core]:x64-windows...
Installing package liblzma[core]:x64-windows... done
Elapsed time for package liblzma:x64-windows: 535.2 ms
Starting package 34/37: libjpeg-turbo:x64-windows
Building package libjpeg-turbo[core]:x64-windows...
Building package libjpeg-turbo[core]:x64-windows... done
Installing package libjpeg-turbo[core]:x64-windows...
Installing package libjpeg-turbo[core]:x64-windows... done
Elapsed time for package libjpeg-turbo:x64-windows: 477.2 ms
Starting package 35/37: tiff:x64-windows
Building package tiff[core,jpeg,lzma,zip]:x64-windows...
Building package tiff[core,jpeg,lzma,zip]:x64-windows... done
Installing package tiff[core,jpeg,lzma,zip]:x64-windows...
Installing package tiff[core,jpeg,lzma,zip]:x64-windows... done
Elapsed time for package tiff:x64-windows: 632.4 ms
Starting package 36/37: libpng:x64-windows
Building package libpng[core]:x64-windows...
Building package libpng[core]:x64-windows... done
Installing package libpng[core]:x64-windows...
Installing package libpng[core]:x64-windows... done
Elapsed time for package libpng:x64-windows: 386.1 ms
Starting package 37/37: wxwidgets:x64-windows
Building package wxwidgets[core]:x64-windows...
Building package wxwidgets[core]:x64-windows... done
Installing package wxwidgets[core]:x64-windows...
Installing package wxwidgets[core]:x64-windows... done
Elapsed time for package wxwidgets:x64-windows: 22.84 s

Total elapsed time: 2.123 min

The package expat:x64-windows provides CMake targets:

    find_package(expat CONFIG REQUIRED)
    target_link_libraries(main PRIVATE expat::expat)

The package zlib is compatible with built-in CMake targets:

    find_package(ZLIB REQUIRED)
    target_link_libraries(main PRIVATE ZLIB::ZLIB)

The package libid3tag:x64-windows provides CMake targets:

    find_package(libid3tag CONFIG REQUIRED)
    target_link_libraries(main PRIVATE id3tag::id3tag)

The package libsbsms:x64-windows provides CMake targets:

    find_package(sbsms CONFIG REQUIRED)
    target_link_libraries(main PRIVATE sbsms::sbsms)

The package libsndfile:x64-windows provides CMake targets:

    find_package(SndFile CONFIG REQUIRED)
    target_link_libraries(main PRIVATE SndFile::sndfile)

The package lilv:x64-windows provides CMake targets:

    find_package(lilv CONFIG REQUIRED)
    target_link_libraries(main PRIVATE lilv::lilv)

The package mp3lame provides CMake targets:

    find_package(mp3lame CONFIG REQUIRED)
    target_link_libraries(main PRIVATE mp3lame::mp3lame)

The package portaudio:x64-windows provides CMake targets:

    find_package(modules CONFIG REQUIRED)
    target_link_libraries(main PRIVATE JACK::jack Regex::regex)

    find_package(PortAudio CONFIG REQUIRED)
    target_link_libraries(main PRIVATE PortAudio::PortAudio)

The package portmidi:x64-windows provides CMake targets:

    find_package(PortMidi CONFIG REQUIRED)
    target_link_libraries(main PRIVATE PortMidi::PortMidi PortMidi::PortTime)

The package portsmf:x64-windows provides CMake targets:

    find_package(PortSMF CONFIG REQUIRED)
    target_link_libraries(main PRIVATE PortSMF::PortSMF)

The package soundtouch:x64-windows provides CMake targets:

    find_package(SoundTouch CONFIG REQUIRED)
    target_link_libraries(main PRIVATE SoundTouch::SoundTouch)

The package sqlite3:x64-windows provides CMake targets:

    find_package(unofficial-sqlite3 CONFIG REQUIRED)
    target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3)

The package twolame:x64-windows provides CMake targets:

    find_package(libtwolame CONFIG REQUIRED)
    target_link_libraries(main PRIVATE libtwolame::libtwolame)

The package wxwidgets:x64-windows provides CMake targets:

    find_package(unofficial-wxwidgets CONFIG REQUIRED)
    # Note: 14 target(s) were omitted.
    target_link_libraries(main PRIVATE wx::wxgl wx::wxqa wx::wxadv wx::wxaui)

-- Running vcpkg install - done

@emabrey
Copy link
Member Author

emabrey commented Aug 21, 2021

You can also override usage of the remote cache by manually setting VCPKG_BINARY_SOURCES to clear;default,readwrite; and CMake won't try to look for the remotes at all. It would be possible to make an advanced CMake option that does that for the user without having to remember how it's done. Something like DISABLE_REMOTE_NUGET_CACHE

Copy link
Contributor

@Be-ing Be-ing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 Thanks for working on this!

@emabrey emabrey merged commit 3bca228 into master Aug 22, 2021
@emabrey emabrey deleted the nuget-cache branch August 22, 2021 12:54
emabrey referenced this pull request Aug 22, 2021
Only attempt signing using Apple certificate on create tag events.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Reference-to: https://github.com/tenacityteam/tenacity/pull/525
@Be-ing Be-ing mentioned this pull request Aug 25, 2021
5 tasks
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants