getdeps generate-github-actions: collapse per-dep build pyramid into … #6875
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This file was @generated by getdeps.py | |
| name: linux | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| actions: read # to query GitHub Actions cache usage | |
| jobs: | |
| build: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 60 | |
| env: | |
| SCCACHE_GHA_ENABLED: "on" | |
| steps: | |
| - name: Show runner info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| cat /proc/cpuinfo | grep 'model name' | head -1 | |
| free -h | |
| - uses: actions/checkout@v6 | |
| - name: Set up sccache | |
| uses: mozilla-actions/sccache-action@v0.0.9 | |
| with: | |
| version: "v0.14.0" | |
| - name: Update system package info | |
| run: sudo --preserve-env=http_proxy apt-get update | |
| - name: Install system deps | |
| run: sudo --preserve-env=http_proxy python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive mvfst && sudo --preserve-env=http_proxy python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive patchelf | |
| - id: paths | |
| name: Query paths | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages query-paths --recursive --src-dir=. mvfst >> "$GITHUB_OUTPUT" | |
| - name: Fetch ninja | |
| if: ${{ steps.paths.outputs.ninja_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja | |
| - name: Fetch cmake | |
| if: ${{ steps.paths.outputs.cmake_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake | |
| - name: Fetch zlib | |
| if: ${{ steps.paths.outputs.zlib_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zlib | |
| - name: Fetch zstd | |
| if: ${{ steps.paths.outputs.zstd_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd | |
| - name: Fetch boost | |
| if: ${{ steps.paths.outputs.boost_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost | |
| - name: Fetch double-conversion | |
| if: ${{ steps.paths.outputs.double-conversion_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion | |
| - name: Fetch fast_float | |
| if: ${{ steps.paths.outputs.fast_float_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fast_float | |
| - name: Fetch fmt | |
| if: ${{ steps.paths.outputs.fmt_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt | |
| - name: Fetch gflags | |
| if: ${{ steps.paths.outputs.gflags_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags | |
| - name: Fetch glog | |
| if: ${{ steps.paths.outputs.glog_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog | |
| - name: Fetch googletest | |
| if: ${{ steps.paths.outputs.googletest_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest | |
| - name: Fetch libaio | |
| if: ${{ steps.paths.outputs.libaio_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libaio | |
| - name: Fetch libdwarf | |
| if: ${{ steps.paths.outputs.libdwarf_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libdwarf | |
| - name: Fetch libevent | |
| if: ${{ steps.paths.outputs.libevent_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent | |
| - name: Fetch lz4 | |
| if: ${{ steps.paths.outputs.lz4_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests lz4 | |
| - name: Fetch openssl | |
| if: ${{ steps.paths.outputs.openssl_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl | |
| - name: Fetch snappy | |
| if: ${{ steps.paths.outputs.snappy_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy | |
| - name: Fetch liboqs | |
| if: ${{ steps.paths.outputs.liboqs_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests liboqs | |
| - name: Fetch autoconf | |
| if: ${{ steps.paths.outputs.autoconf_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests autoconf | |
| - name: Fetch automake | |
| if: ${{ steps.paths.outputs.automake_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests automake | |
| - name: Fetch libtool | |
| if: ${{ steps.paths.outputs.libtool_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libtool | |
| - name: Fetch libsodium | |
| if: ${{ steps.paths.outputs.libsodium_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libsodium | |
| - name: Fetch libiberty | |
| if: ${{ steps.paths.outputs.libiberty_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libiberty | |
| - name: Fetch libunwind | |
| if: ${{ steps.paths.outputs.libunwind_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libunwind | |
| - name: Fetch xz | |
| if: ${{ steps.paths.outputs.xz_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests xz | |
| - name: Fetch folly | |
| if: ${{ steps.paths.outputs.folly_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests folly | |
| - name: Fetch fizz | |
| if: ${{ steps.paths.outputs.fizz_SOURCE }} | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fizz | |
| - name: Build mvfst | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --build-type RelWithDebInfo --recursive --src-dir=. mvfst --project-install-prefix mvfst:/usr/local | |
| - name: Show sccache stats | |
| if: always() | |
| run: sccache --show-stats | |
| - name: Copy artifacts | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --strip --src-dir=. mvfst _artifacts/linux --project-install-prefix mvfst:/usr/local --final-install-prefix /usr/local | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: mvfst | |
| path: _artifacts | |
| - name: Test mvfst | |
| run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --build-type RelWithDebInfo --src-dir=. mvfst --project-install-prefix mvfst:/usr/local | |
| - name: Show GitHub Actions cache usage | |
| if: always() | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: gh cache list --repo ${{ github.repository }} --sort size_in_bytes --order desc --limit 30 |