Skip to content

add github actions caching #5432

add github actions caching

add github actions caching #5432

# This file was @generated by getdeps.py
name: windows
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: windows-2019
steps:
- name: Export boost environment
run: "echo BOOST_ROOT=%BOOST_ROOT_1_83_0% >> %GITHUB_ENV%"
shell: cmd
- name: Fix Git config
run: >
git config --system core.longpaths true &&
git config --system core.autocrlf false &&
git config --system core.symlinks true
shell: cmd
- uses: actions/checkout@v4
- id: paths
name: Query paths
run: python build/fbcode_builder/getdeps.py query-paths --recursive --src-dir=. mvfst >> $env:GITHUB_OUTPUT
shell: pwsh
- name: Fetch ninja
if: ${{ steps.paths.outputs.ninja_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests ninja
- name: Fetch cmake
if: ${{ steps.paths.outputs.cmake_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests cmake
- name: Fetch libsodium
if: ${{ steps.paths.outputs.libsodium_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests libsodium
- name: Fetch zlib
if: ${{ steps.paths.outputs.zlib_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests zlib
- name: Fetch zstd
if: ${{ steps.paths.outputs.zstd_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests zstd
- name: Fetch boost
if: ${{ steps.paths.outputs.boost_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests boost
- name: Fetch double-conversion
if: ${{ steps.paths.outputs.double-conversion_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests double-conversion
- name: Fetch fast_float
if: ${{ steps.paths.outputs.fast_float_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests fast_float
- name: Fetch fmt
if: ${{ steps.paths.outputs.fmt_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests fmt
- name: Fetch gflags
if: ${{ steps.paths.outputs.gflags_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests gflags
- name: Fetch glog
if: ${{ steps.paths.outputs.glog_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests glog
- name: Fetch googletest
if: ${{ steps.paths.outputs.googletest_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests googletest
- name: Fetch libdwarf
if: ${{ steps.paths.outputs.libdwarf_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests libdwarf
- name: Fetch lz4
if: ${{ steps.paths.outputs.lz4_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests lz4
- name: Fetch snappy
if: ${{ steps.paths.outputs.snappy_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests snappy
- name: Fetch jom
if: ${{ steps.paths.outputs.jom_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests jom
- name: Fetch perl
if: ${{ steps.paths.outputs.perl_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests perl
- name: Fetch openssl
if: ${{ steps.paths.outputs.openssl_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests openssl
- name: Fetch libevent
if: ${{ steps.paths.outputs.libevent_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests libevent
- name: Fetch folly
if: ${{ steps.paths.outputs.folly_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests folly
- name: Fetch liboqs
if: ${{ steps.paths.outputs.liboqs_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests liboqs
- name: Fetch fizz
if: ${{ steps.paths.outputs.fizz_SOURCE }}
run: python build/fbcode_builder/getdeps.py fetch --no-tests fizz
- name: Restore ninja from cache
id: restore_ninja
if: ${{ steps.paths.outputs.ninja_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.ninja_INSTALL }}
key: ${{ steps.paths.outputs.ninja_CACHE_KEY }}-install
- name: Build ninja
if: ${{ steps.paths.outputs.ninja_SOURCE && ! steps.restore_ninja.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests ninja
- name: Save ninja to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.ninja_SOURCE && ! steps.restore_ninja.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.ninja_INSTALL }}
key: ${{ steps.paths.outputs.ninja_CACHE_KEY }}-install
- name: Restore cmake from cache
id: restore_cmake
if: ${{ steps.paths.outputs.cmake_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.cmake_INSTALL }}
key: ${{ steps.paths.outputs.cmake_CACHE_KEY }}-install
- name: Build cmake
if: ${{ steps.paths.outputs.cmake_SOURCE && ! steps.restore_cmake.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests cmake
- name: Save cmake to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.cmake_SOURCE && ! steps.restore_cmake.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.cmake_INSTALL }}
key: ${{ steps.paths.outputs.cmake_CACHE_KEY }}-install
- name: Restore libsodium from cache
id: restore_libsodium
if: ${{ steps.paths.outputs.libsodium_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.libsodium_INSTALL }}
key: ${{ steps.paths.outputs.libsodium_CACHE_KEY }}-install
- name: Build libsodium
if: ${{ steps.paths.outputs.libsodium_SOURCE && ! steps.restore_libsodium.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests libsodium
- name: Save libsodium to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.libsodium_SOURCE && ! steps.restore_libsodium.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.libsodium_INSTALL }}
key: ${{ steps.paths.outputs.libsodium_CACHE_KEY }}-install
- name: Restore zlib from cache
id: restore_zlib
if: ${{ steps.paths.outputs.zlib_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.zlib_INSTALL }}
key: ${{ steps.paths.outputs.zlib_CACHE_KEY }}-install
- name: Build zlib
if: ${{ steps.paths.outputs.zlib_SOURCE && ! steps.restore_zlib.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests zlib
- name: Save zlib to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.zlib_SOURCE && ! steps.restore_zlib.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.zlib_INSTALL }}
key: ${{ steps.paths.outputs.zlib_CACHE_KEY }}-install
- name: Restore zstd from cache
id: restore_zstd
if: ${{ steps.paths.outputs.zstd_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.zstd_INSTALL }}
key: ${{ steps.paths.outputs.zstd_CACHE_KEY }}-install
- name: Build zstd
if: ${{ steps.paths.outputs.zstd_SOURCE && ! steps.restore_zstd.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests zstd
- name: Save zstd to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.zstd_SOURCE && ! steps.restore_zstd.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.zstd_INSTALL }}
key: ${{ steps.paths.outputs.zstd_CACHE_KEY }}-install
- name: Restore boost from cache
id: restore_boost
if: ${{ steps.paths.outputs.boost_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.boost_INSTALL }}
key: ${{ steps.paths.outputs.boost_CACHE_KEY }}-install
- name: Build boost
if: ${{ steps.paths.outputs.boost_SOURCE && ! steps.restore_boost.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests boost
- name: Save boost to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.boost_SOURCE && ! steps.restore_boost.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.boost_INSTALL }}
key: ${{ steps.paths.outputs.boost_CACHE_KEY }}-install
- name: Restore double-conversion from cache
id: restore_double-conversion
if: ${{ steps.paths.outputs.double-conversion_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.double-conversion_INSTALL }}
key: ${{ steps.paths.outputs.double-conversion_CACHE_KEY }}-install
- name: Build double-conversion
if: ${{ steps.paths.outputs.double-conversion_SOURCE && ! steps.restore_double-conversion.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests double-conversion
- name: Save double-conversion to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.double-conversion_SOURCE && ! steps.restore_double-conversion.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.double-conversion_INSTALL }}
key: ${{ steps.paths.outputs.double-conversion_CACHE_KEY }}-install
- name: Restore fast_float from cache
id: restore_fast_float
if: ${{ steps.paths.outputs.fast_float_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.fast_float_INSTALL }}
key: ${{ steps.paths.outputs.fast_float_CACHE_KEY }}-install
- name: Build fast_float
if: ${{ steps.paths.outputs.fast_float_SOURCE && ! steps.restore_fast_float.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests fast_float
- name: Save fast_float to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.fast_float_SOURCE && ! steps.restore_fast_float.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.fast_float_INSTALL }}
key: ${{ steps.paths.outputs.fast_float_CACHE_KEY }}-install
- name: Restore fmt from cache
id: restore_fmt
if: ${{ steps.paths.outputs.fmt_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.fmt_INSTALL }}
key: ${{ steps.paths.outputs.fmt_CACHE_KEY }}-install
- name: Build fmt
if: ${{ steps.paths.outputs.fmt_SOURCE && ! steps.restore_fmt.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests fmt
- name: Save fmt to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.fmt_SOURCE && ! steps.restore_fmt.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.fmt_INSTALL }}
key: ${{ steps.paths.outputs.fmt_CACHE_KEY }}-install
- name: Restore gflags from cache
id: restore_gflags
if: ${{ steps.paths.outputs.gflags_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.gflags_INSTALL }}
key: ${{ steps.paths.outputs.gflags_CACHE_KEY }}-install
- name: Build gflags
if: ${{ steps.paths.outputs.gflags_SOURCE && ! steps.restore_gflags.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests gflags
- name: Save gflags to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.gflags_SOURCE && ! steps.restore_gflags.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.gflags_INSTALL }}
key: ${{ steps.paths.outputs.gflags_CACHE_KEY }}-install
- name: Restore glog from cache
id: restore_glog
if: ${{ steps.paths.outputs.glog_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.glog_INSTALL }}
key: ${{ steps.paths.outputs.glog_CACHE_KEY }}-install
- name: Build glog
if: ${{ steps.paths.outputs.glog_SOURCE && ! steps.restore_glog.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests glog
- name: Save glog to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.glog_SOURCE && ! steps.restore_glog.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.glog_INSTALL }}
key: ${{ steps.paths.outputs.glog_CACHE_KEY }}-install
- name: Restore googletest from cache
id: restore_googletest
if: ${{ steps.paths.outputs.googletest_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.googletest_INSTALL }}
key: ${{ steps.paths.outputs.googletest_CACHE_KEY }}-install
- name: Build googletest
if: ${{ steps.paths.outputs.googletest_SOURCE && ! steps.restore_googletest.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests googletest
- name: Save googletest to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.googletest_SOURCE && ! steps.restore_googletest.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.googletest_INSTALL }}
key: ${{ steps.paths.outputs.googletest_CACHE_KEY }}-install
- name: Restore libdwarf from cache
id: restore_libdwarf
if: ${{ steps.paths.outputs.libdwarf_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.libdwarf_INSTALL }}
key: ${{ steps.paths.outputs.libdwarf_CACHE_KEY }}-install
- name: Build libdwarf
if: ${{ steps.paths.outputs.libdwarf_SOURCE && ! steps.restore_libdwarf.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests libdwarf
- name: Save libdwarf to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.libdwarf_SOURCE && ! steps.restore_libdwarf.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.libdwarf_INSTALL }}
key: ${{ steps.paths.outputs.libdwarf_CACHE_KEY }}-install
- name: Restore lz4 from cache
id: restore_lz4
if: ${{ steps.paths.outputs.lz4_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.lz4_INSTALL }}
key: ${{ steps.paths.outputs.lz4_CACHE_KEY }}-install
- name: Build lz4
if: ${{ steps.paths.outputs.lz4_SOURCE && ! steps.restore_lz4.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests lz4
- name: Save lz4 to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.lz4_SOURCE && ! steps.restore_lz4.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.lz4_INSTALL }}
key: ${{ steps.paths.outputs.lz4_CACHE_KEY }}-install
- name: Restore snappy from cache
id: restore_snappy
if: ${{ steps.paths.outputs.snappy_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.snappy_INSTALL }}
key: ${{ steps.paths.outputs.snappy_CACHE_KEY }}-install
- name: Build snappy
if: ${{ steps.paths.outputs.snappy_SOURCE && ! steps.restore_snappy.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests snappy
- name: Save snappy to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.snappy_SOURCE && ! steps.restore_snappy.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.snappy_INSTALL }}
key: ${{ steps.paths.outputs.snappy_CACHE_KEY }}-install
- name: Restore jom from cache
id: restore_jom
if: ${{ steps.paths.outputs.jom_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.jom_INSTALL }}
key: ${{ steps.paths.outputs.jom_CACHE_KEY }}-install
- name: Build jom
if: ${{ steps.paths.outputs.jom_SOURCE && ! steps.restore_jom.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests jom
- name: Save jom to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.jom_SOURCE && ! steps.restore_jom.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.jom_INSTALL }}
key: ${{ steps.paths.outputs.jom_CACHE_KEY }}-install
- name: Restore perl from cache
id: restore_perl
if: ${{ steps.paths.outputs.perl_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.perl_INSTALL }}
key: ${{ steps.paths.outputs.perl_CACHE_KEY }}-install
- name: Build perl
if: ${{ steps.paths.outputs.perl_SOURCE && ! steps.restore_perl.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests perl
- name: Save perl to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.perl_SOURCE && ! steps.restore_perl.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.perl_INSTALL }}
key: ${{ steps.paths.outputs.perl_CACHE_KEY }}-install
- name: Restore openssl from cache
id: restore_openssl
if: ${{ steps.paths.outputs.openssl_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.openssl_INSTALL }}
key: ${{ steps.paths.outputs.openssl_CACHE_KEY }}-install
- name: Build openssl
if: ${{ steps.paths.outputs.openssl_SOURCE && ! steps.restore_openssl.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests openssl
- name: Save openssl to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.openssl_SOURCE && ! steps.restore_openssl.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.openssl_INSTALL }}
key: ${{ steps.paths.outputs.openssl_CACHE_KEY }}-install
- name: Restore libevent from cache
id: restore_libevent
if: ${{ steps.paths.outputs.libevent_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.libevent_INSTALL }}
key: ${{ steps.paths.outputs.libevent_CACHE_KEY }}-install
- name: Build libevent
if: ${{ steps.paths.outputs.libevent_SOURCE && ! steps.restore_libevent.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests libevent
- name: Save libevent to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.libevent_SOURCE && ! steps.restore_libevent.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.libevent_INSTALL }}
key: ${{ steps.paths.outputs.libevent_CACHE_KEY }}-install
- name: Restore folly from cache
id: restore_folly
if: ${{ steps.paths.outputs.folly_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.folly_INSTALL }}
key: ${{ steps.paths.outputs.folly_CACHE_KEY }}-install
- name: Build folly
if: ${{ steps.paths.outputs.folly_SOURCE && ! steps.restore_folly.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests folly
- name: Save folly to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.folly_SOURCE && ! steps.restore_folly.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.folly_INSTALL }}
key: ${{ steps.paths.outputs.folly_CACHE_KEY }}-install
- name: Restore liboqs from cache
id: restore_liboqs
if: ${{ steps.paths.outputs.liboqs_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.liboqs_INSTALL }}
key: ${{ steps.paths.outputs.liboqs_CACHE_KEY }}-install
- name: Build liboqs
if: ${{ steps.paths.outputs.liboqs_SOURCE && ! steps.restore_liboqs.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests liboqs
- name: Save liboqs to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.liboqs_SOURCE && ! steps.restore_liboqs.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.liboqs_INSTALL }}
key: ${{ steps.paths.outputs.liboqs_CACHE_KEY }}-install
- name: Restore fizz from cache
id: restore_fizz
if: ${{ steps.paths.outputs.fizz_SOURCE }}
uses: actions/cache/restore@v4
with:
path: ${{ steps.paths.outputs.fizz_INSTALL }}
key: ${{ steps.paths.outputs.fizz_CACHE_KEY }}-install
- name: Build fizz
if: ${{ steps.paths.outputs.fizz_SOURCE && ! steps.restore_fizz.outputs.cache-hit }}
run: python build/fbcode_builder/getdeps.py build --no-tests fizz
- name: Save fizz to cache
uses: actions/cache/save@v4
if: ${{ steps.paths.outputs.fizz_SOURCE && ! steps.restore_fizz.outputs.cache-hit }}
with:
path: ${{ steps.paths.outputs.fizz_INSTALL }}
key: ${{ steps.paths.outputs.fizz_CACHE_KEY }}-install
- name: Build mvfst
run: python build/fbcode_builder/getdeps.py build --src-dir=. mvfst
- name: Copy artifacts
run: python build/fbcode_builder/getdeps.py fixup-dyn-deps --src-dir=. mvfst _artifacts/windows --final-install-prefix /usr/local
- uses: actions/upload-artifact@v4
with:
name: mvfst
path: _artifacts
- name: Test mvfst
run: python build/fbcode_builder/getdeps.py test --src-dir=. mvfst