From 23111ad39a44bb23ef4b9ec2c15922b7d6ad10d2 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Mon, 8 Jun 2020 11:21:31 +0200 Subject: [PATCH] CI: add requirements-tox-py3x-check-uc job on AArch64 There are moments when bumping versions breaks all non-x86 builds because upstream forgets to upload source tarball to Pypi. As we need librdkafka 1.4.0+ we build version from Debian 'testing'. Change-Id: Ib4a4eac5e5f14eab8104fb8fe4f49c90e333dab0 --- .zuul.d/jobs.yaml | 8 +++++++ .zuul.d/project.yaml | 4 ++++ playbooks/build-kafka.yaml | 43 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 playbooks/build-kafka.yaml diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 04c1a82db2..dd86fae086 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -55,3 +55,11 @@ vars: tox_envlist: bindep +- job: + name: requirements-tox-py38-check-uc-aarch64 + parent: requirements-tox-py38-check-uc + nodeset: ubuntu-focal-arm64 + timeout: 7200 + pre-run: playbooks/build-kafka.yaml + vars: + ansible_python_interpreter: python3 diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index ead7913cee..72b46513e2 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -53,6 +53,10 @@ - ^setup.cfg$ check-arm64: jobs: + - requirements-tox-py38-check-uc-aarch64: + files: + - bindep.txt + - upper-constraints.txt - build-wheel-cache-centos-8-arm64: files: - bindep.txt diff --git a/playbooks/build-kafka.yaml b/playbooks/build-kafka.yaml new file mode 100644 index 0000000000..1164f80ea2 --- /dev/null +++ b/playbooks/build-kafka.yaml @@ -0,0 +1,43 @@ +- hosts: all + tasks: + - name: Build and install librdkafka 1.4.0+ + block: + - name: Install librdkafka build dependencies + apt: + name: + - liblz4-dev + - libsasl2-dev + - libssl-dev + - libzstd-dev + - python3 + - zlib1g-dev + - debhelper + - devscripts + - wget + - build-essential + state: present + install_recommends: no + become: true + + - name: Create build directory + tempfile: + state: directory + register: build_dir + + - name: Fetch librdkafka from Debian 'testing' + command: "dget -u https://snapshot.debian.org/archive/debian/20200513T084344Z/pool/main/libr/librdkafka/librdkafka_1.4.2-1.dsc" + args: + chdir: "{{ build_dir.path }}" + + # NOTE(hrw): use '-d' to skip 'error: Unmet build dependencies: debhelper-compat (= 13)' + - name: Build librdkafka package + shell: + cmd: | + set +o errexit + set -o xtrace + + debuild -b -d + ls -l ../* + sudo debi + executable: /bin/bash + chdir: "{{ build_dir.path }}/librdkafka-1.4.2/"