From 1d6bba7fbc1ccde4e125ce34c5dfc9935ff26cfa Mon Sep 17 00:00:00 2001 From: Abe Winter Date: Fri, 20 Oct 2023 15:30:36 -0400 Subject: [PATCH] debian packaging workflow --- .github/workflows/debian.yml | 55 ++++++++++++++++++++++++++++++++++++ src/viam/CMakeLists.txt | 1 + src/viam/sdk/CMakeLists.txt | 3 +- 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/debian.yml diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml new file mode 100644 index 000000000..b008f1055 --- /dev/null +++ b/.github/workflows/debian.yml @@ -0,0 +1,55 @@ +on: + push: + +env: + CMAKE_VERSION: 3.27.4 + +jobs: + build-deb: + strategy: + matrix: + include: + - container: debian:bookworm + label: bookworm-aarch64 + runs-on: buildjet-8vcpu-ubuntu-2204-arm + - container: debian:bookworm + label: bookworm-x86_64 + runs-on: buildjet-8vcpu-ubuntu-2204 + container: ${{ matrix.container }} + runs-on: ${{ matrix.runs-on }} + steps: + - uses: actions/checkout@v3 + - name: depends + run: | + apt-get update + apt-get install -qqy \ + build-essential \ + libabsl-dev \ + libboost-all-dev \ + libgrpc++-dev \ + libprotobuf-dev \ + pkg-config \ + ninja-build \ + protobuf-compiler-grpc \ + git \ + wget + - name: download cmake + run: | + ARCH=$(uname -m) + wget --quiet https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-$ARCH.sh + chmod +x cmake-${CMAKE_VERSION}-linux-$ARCH.sh + ./cmake-${CMAKE_VERSION}-linux-$ARCH.sh --skip-license --prefix=/usr + - name: remove examples + run: sed -i '/add_subdirectory.examples/d' src/viam/CMakeLists.txt + - name: create build + run: mkdir build + - name: cmake + working-directory: ./build + run: cmake .. -G Ninja + - name: build + working-directory: ./build + run: ninja libviamsdk.so && cpack + - uses: actions/upload-artifact@v3 + with: + name: debian-${{ matrix.label }} + path: build/viam-cpp-sdk-*.deb diff --git a/src/viam/CMakeLists.txt b/src/viam/CMakeLists.txt index 745b618fe..c8c712426 100644 --- a/src/viam/CMakeLists.txt +++ b/src/viam/CMakeLists.txt @@ -14,6 +14,7 @@ add_subdirectory(api) add_subdirectory(sdk) +add_subdirectory(examples) # Generate CMake configs to enable importing this project # into others via `find_package`. diff --git a/src/viam/sdk/CMakeLists.txt b/src/viam/sdk/CMakeLists.txt index 09c50ac5d..874bbc95c 100644 --- a/src/viam/sdk/CMakeLists.txt +++ b/src/viam/sdk/CMakeLists.txt @@ -253,5 +253,6 @@ add_subdirectory(tests) set(CPACK_GENERATOR "DEB") set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) set(CPACK_COMPONENTS_ALL viam-cpp-sdk_dev) -set(CPACK_PACKAGE_CONTACT "OY TIS") +set(CPACK_PACKAGE_CONTACT "packaging@viam.com") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libprotobuf32, libgrpc++1.51, libabsl20220623") include(CPack)