Skip to content

ci: Enable vcpkg binary caching with GitHub Actions cache#13

Merged
kcenon merged 1 commit into
mainfrom
ci/vcpkg-binary-cache-20250908
Sep 8, 2025
Merged

ci: Enable vcpkg binary caching with GitHub Actions cache#13
kcenon merged 1 commit into
mainfrom
ci/vcpkg-binary-cache-20250908

Conversation

@kcenon

@kcenon kcenon commented Sep 8, 2025

Copy link
Copy Markdown
Owner

Summary

This PR enables vcpkg binary caching using GitHub Actions cache (x-gha) to significantly improve CI/CD pipeline performance and reduce build times across all platforms.

Changes

  • Binary caching configuration: Added VCPKG_BINARY_SOURCES environment variable to use GitHub Actions cache
  • Stronger cache keys: Enhanced cache key generation with vcpkg commit hash, triplet, and configuration files
  • Standardized triplets: Explicitly set VCPKG_DEFAULT_TRIPLET for consistent builds across platforms
  • Conditional installation: Skip vcpkg install step when cache is already available
  • Documentation update: Updated workflow improvements documentation with current status

Benefits

  • Faster CI builds: Reuse previously built packages instead of rebuilding from source
  • 💾 Reduced bandwidth: Minimize vcpkg package downloads
  • 🔄 Better cache invalidation: More precise cache keys ensure proper cache updates
  • 🎯 Consistent builds: Explicit triplet configuration prevents platform-specific issues

Platform Coverage

  • ✅ Ubuntu (Clang)
  • ✅ Ubuntu (GCC)
  • ✅ Windows (MinGW)
  • ✅ Windows (MSYS2)
  • ✅ Windows (Visual Studio)

Testing

All CI workflows have been tested and are passing with the new binary caching configuration.

Notes

The x-gha binary source is GitHub's recommended approach for vcpkg binary caching in Actions, providing automatic cache management without additional setup.

@kcenon kcenon merged commit a2173c5 into main Sep 8, 2025
7 checks passed
@kcenon kcenon deleted the ci/vcpkg-binary-cache-20250908 branch September 8, 2025 13:23
kcenon added a commit that referenced this pull request Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant