From 59e1572765e2a1f4f2fbbced3edbbba8c303c590 Mon Sep 17 00:00:00 2001 From: Massimiliano Date: Thu, 25 Jul 2024 18:03:14 +0200 Subject: [PATCH] New debian validation pipeline (infra) (#1369) * New debian validation pipeline * Fix dependency problem to checkbox-support --------- Co-authored-by: Paolo Gentili --- .github/workflows/deb_validator.yaml | 68 ++++++++++++++++++++++++++++ checkbox-support/debian/control | 9 +++- 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/deb_validator.yaml diff --git a/.github/workflows/deb_validator.yaml b/.github/workflows/deb_validator.yaml new file mode 100644 index 0000000000..6cca5421f7 --- /dev/null +++ b/.github/workflows/deb_validator.yaml @@ -0,0 +1,68 @@ +name: Verify debian packages + +on: + push: + branches: [ main ] + paths: + - checkbox-ng/** + - checkbox-support/** + - providers/base/** + - providers/certification-client/** + - providers/certification-server/** + - providers/genio/** + - providers/gpgpu/** + - providers/resource/** + - providers/sru/** + - providers/tpm2/** + pull_request: + branches: [ main ] + paths: + - checkbox-ng/** + - checkbox-support/** + - providers/base/** + - providers/certification-client/** + - providers/certification-server/** + - providers/gpgpu/** + - providers/resource/** + - providers/sru/** + - providers/tpm2/** + workflow_dispatch: + +jobs: + deb_validation: + strategy: + fail-fast: false + matrix: + # Version of Ubuntu + # note: no 16, we don't support debs for 16 anymore + # no 18, not supported by github + os: + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-24.04 + path: + - checkbox-ng + - checkbox-support + - providers/base + - providers/certification-client + - providers/certification-server + - providers/gpgpu + - providers/resource + - providers/sru + - providers/tpm2 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout Checkbox monorepo + uses: actions/checkout@v4 + # needed by providers that pull checkbox-support + - name: Install PPA and dependencies + run: | + sudo add-apt-repository ppa:checkbox-dev/edge + sudo apt-get update + sudo apt-get install -qq -y dpkg-dev + - name: Prepare installation + run: mv ${{ matrix.path }}/debian . + - name: Install dependencies + run: sudo apt-get build-dep . + - name: Build source, test and build binary + run: dpkg-buildpackage diff --git a/checkbox-support/debian/control b/checkbox-support/debian/control index bd99f49bdf..34a5326867 100644 --- a/checkbox-support/debian/control +++ b/checkbox-support/debian/control @@ -1,7 +1,7 @@ Source: checkbox-support Section: python Priority: optional -Maintainer: Checkbox Developers +Maintainer: Checkbox Developers Uploaders: Sylvain Pineau Build-Depends: debhelper (>= 9), @@ -20,7 +20,10 @@ Build-Depends: python3-requests-unixsocket, python3-setuptools, python3-setuptools-scm, - python3-yaml + python3-yaml, + python3-numpy, + python3-opencv, + python3-systemd, Standards-Version: 3.9.6 X-Python3-Version: >= 3.5 XS-Testsuite: autopkgtest @@ -43,6 +46,8 @@ Depends: gir1.2-gudev-1.0, udisks2, ${misc:Depends}, ${python3:Depends} +Recommends: python3-opencv, + python3-numpy Description: collection of Python modules used by PlainBox providers This package contains the CheckBox support Python 3 library, primarily used by the CheckBox provider.