# 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)

jobs:
  build:
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v4
    - 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 fizz
    - name: Install packaging system deps
      run: sudo python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive patchelf
    - name: Fetch 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 --allow-system-packages fetch --no-tests cmake
    - name: Fetch boost
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
    - name: Fetch double-conversion
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
    - name: Fetch fast_float
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fast_float
    - name: Fetch 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 --allow-system-packages fetch --no-tests gflags
    - name: Fetch 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 --allow-system-packages fetch --no-tests googletest
    - name: Fetch libdwarf
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libdwarf
    - name: Fetch 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 --allow-system-packages fetch --no-tests lz4
    - name: Fetch 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 --allow-system-packages fetch --no-tests zstd
    - name: Fetch openssl
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
    - name: Fetch liboqs
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests liboqs
    - name: Fetch zlib
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zlib
    - name: Fetch 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 --allow-system-packages fetch --no-tests automake
    - name: Fetch 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 --allow-system-packages fetch --no-tests libsodium
    - name: Fetch libiberty
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libiberty
    - name: Fetch libunwind
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libunwind
    - name: Fetch xz
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests xz
    - name: Fetch folly
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests folly
    - name: Build ninja
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests ninja
    - name: Build cmake
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests cmake
    - name: Build boost
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests boost
    - name: Build double-conversion
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests double-conversion
    - name: Build fast_float
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fast_float
    - name: Build fmt
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests fmt
    - name: Build gflags
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests gflags
    - name: Build glog
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests glog
    - name: Build googletest
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests googletest
    - name: Build libdwarf
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libdwarf
    - name: Build libevent
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libevent
    - name: Build lz4
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests lz4
    - name: Build snappy
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests snappy
    - name: Build zstd
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zstd
    - name: Build openssl
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests openssl
    - name: Build liboqs
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests liboqs
    - name: Build zlib
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests zlib
    - name: Build autoconf
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests autoconf
    - name: Build automake
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests automake
    - name: Build libtool
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libtool
    - name: Build libsodium
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libsodium
    - name: Build libiberty
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libiberty
    - name: Build libunwind
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests libunwind
    - name: Build xz
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests xz
    - name: Build folly
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --no-tests folly
    - name: Build fizz
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --src-dir=. fizz  --project-install-prefix fizz:/usr/local
    - name: Copy artifacts
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --strip --src-dir=. fizz _artifacts/linux  --project-install-prefix fizz:/usr/local --final-install-prefix /usr/local
    - uses: actions/upload-artifact@v4
      with:
        name: fizz
        path: _artifacts
    - name: Test fizz
      run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --src-dir=. fizz  --project-install-prefix fizz:/usr/local
