From 9ee8772a4b9916aeaedbf272520a3248eecd2971 Mon Sep 17 00:00:00 2001 From: Alex Hornby Date: Thu, 15 Feb 2024 19:29:53 +0000 Subject: [PATCH] use system deps in linux CI Speed up the CI by not rebuilding boost et al each time. Test plan: regenerate github actions with: ``` ./build/fbcode_builder/getdeps.py --allow-system-packages generate-github-actions --free-up-disk --src-dir=. --os-type=linux --output-dir=.github/workflows folly ``` build locally with system dependencies ``` ./build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive folly ./build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. folly ``` After, its quicker as we can use system boost --- .github/workflows/getdeps_linux.yml | 80 ++++++++++++++++------------- 1 file changed, 43 insertions(+), 37 deletions(-) diff --git a/.github/workflows/getdeps_linux.yml b/.github/workflows/getdeps_linux.yml index 9138da8faa5..01f52ca0687 100644 --- a/.github/workflows/getdeps_linux.yml +++ b/.github/workflows/getdeps_linux.yml @@ -24,83 +24,89 @@ jobs: run: sudo rm -rf /usr/local/lib/android - name: Show disk space after freeing up run: df -h + - name: Update system package info + run: sudo apt-get update + - name: Install system deps + run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive folly + - name: Install packaging system deps + run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive patchelf - name: Fetch boost - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests boost + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost - name: Fetch ninja - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests ninja + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja - name: Fetch cmake - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests cmake + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake - name: Fetch double-conversion - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests double-conversion + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion - name: Fetch fmt - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests fmt + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt - name: Fetch gflags - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests gflags + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags - name: Fetch glog - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests glog + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog - name: Fetch googletest - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests googletest + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest - name: Fetch libevent - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests libevent + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent - name: Fetch lz4 - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests lz4 + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests lz4 - name: Fetch snappy - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests snappy + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy - name: Fetch zstd - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests zstd + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd - name: Fetch autoconf - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests autoconf + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests autoconf - name: Fetch automake - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests automake + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests automake - name: Fetch libtool - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests libtool + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libtool - name: Fetch libsodium - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests libsodium + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libsodium - name: Fetch xz - run: python3 build/fbcode_builder/getdeps.py fetch --no-tests xz + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests xz - name: Build boost - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests boost + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests boost - name: Build ninja - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests ninja + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests ninja - name: Build cmake - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests cmake + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests cmake - name: Build double-conversion - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests double-conversion + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests double-conversion - name: Build fmt - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests fmt + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests fmt - name: Build gflags - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests gflags + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests gflags - name: Build glog - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests glog + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests glog - name: Build googletest - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests googletest + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests googletest - name: Build libevent - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests libevent + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests libevent - name: Build lz4 - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests lz4 + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests lz4 - name: Build snappy - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests snappy + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests snappy - name: Build zstd - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests zstd + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests zstd - name: Build autoconf - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests autoconf + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests autoconf - name: Build automake - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests automake + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests automake - name: Build libtool - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests libtool + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests libtool - name: Build libsodium - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests libsodium + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests libsodium - name: Build xz - run: python3 build/fbcode_builder/getdeps.py build --free-up-disk --no-tests xz + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --free-up-disk --no-tests xz - name: Build folly - run: python3 build/fbcode_builder/getdeps.py build --src-dir=. folly --project-install-prefix folly:/usr/local + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. folly --project-install-prefix folly:/usr/local - name: Copy artifacts - run: python3 build/fbcode_builder/getdeps.py fixup-dyn-deps --strip --src-dir=. folly _artifacts/linux --project-install-prefix folly:/usr/local --final-install-prefix /usr/local + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --strip --src-dir=. folly _artifacts/linux --project-install-prefix folly:/usr/local --final-install-prefix /usr/local - uses: actions/upload-artifact@v2 with: name: folly path: _artifacts - name: Test folly - run: python3 build/fbcode_builder/getdeps.py test --src-dir=. folly --project-install-prefix folly:/usr/local + run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. folly --project-install-prefix folly:/usr/local - name: Show disk space at end run: df -h