From nobody Sun Feb 8 23:05:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1613482459; cv=none; d=zohomail.com; s=zohoarc; b=NudD0EcxmwJg8dUiw4yrvUs5SIxENMnPqvFU1WvkSGMCXuexFGr1uC2DOyO/vTZrtlOEOCnHLFs9Zx75H7BeGFhPkiV5RToFdieyQDbL2ic+1s6wJruZ8lrrEZPjc6yCofHZNk0izA20o/HVBhVYTnRYP5sDQiJaX75wDj+7t54= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613482459; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NLbjzcBp4Yb1qpgc7fxBRbG4uwupEhk32M71q7wE/NY=; b=h7J1jh7yINT2M4H3rjzJslv5445N9v3S1/xxzGoOGAeqX9QjFwvD4PFhcmed2ToXRuIstj3v1U6E02AojTzeO73pVvap1dJj7fIY4+8GhnpnNXpGyCVa7+ekPQPPNJH/70HV+LpdrPaewsLmtfzPORv/3YpYXJjvA0gOt2ul1h8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1613482458605238.120529002519; Tue, 16 Feb 2021 05:34:18 -0800 (PST) Received: from localhost ([::1]:41410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lC0UZ-0007sR-Lb for importer@patchew.org; Tue, 16 Feb 2021 08:34:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lC0Ql-0006Cv-Qo for qemu-devel@nongnu.org; Tue, 16 Feb 2021 08:30:23 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:58114) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1lC0Qi-0005fK-GF for qemu-devel@nongnu.org; Tue, 16 Feb 2021 08:30:19 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-506-dPm3TorFPgq5hHHpjSI99w-1; Tue, 16 Feb 2021 08:30:10 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DFFDBDF8A7; Tue, 16 Feb 2021 13:30:09 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-112-215.ams2.redhat.com [10.36.112.215]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7FA6E5D9CC; Tue, 16 Feb 2021 13:30:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1613482212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NLbjzcBp4Yb1qpgc7fxBRbG4uwupEhk32M71q7wE/NY=; b=iMpzQQFYdx44b5ZeaSMUzSYzQ9Z0IkJ+hBUUWYwEcV84OiWD3kJjWfmuvVWqkDXtQIjtx1 ZjbQ5KZrF9028eMWAHiw4slKlv9TWDfL5gVaHy56M/W4Ro9B7jTqaRS85O/Vo5IdBeuQhV 4vUW2yHxUMT8POdJcecWHupMNbJxWq4= X-MC-Unique: dPm3TorFPgq5hHHpjSI99w-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v2 2/3] gitlab: add fine grained job deps for all build jobs Date: Tue, 16 Feb 2021 13:29:53 +0000 Message-Id: <20210216132954.295906-3-berrange@redhat.com> In-Reply-To: <20210216132954.295906-1-berrange@redhat.com> References: <20210216132954.295906-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=berrange@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Wainer dos Santos Moschetta Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) This allows the build jobs to start running as soon as their respective container image is ready, instead of waiting for all container builds to finish. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- .gitlab-ci.d/crossbuilds.yml | 46 ++++++++++++++++++++++++++++ .gitlab-ci.yml | 58 ++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml index 66547b6683..d5098c986b 100644 --- a/.gitlab-ci.d/crossbuilds.yml +++ b/.gitlab-ci.d/crossbuilds.yml @@ -41,114 +41,158 @@ =20 cross-armel-system: extends: .cross_system_build_job + needs: + job: armel-debian-cross-container variables: IMAGE: debian-armel-cross =20 cross-armel-user: extends: .cross_user_build_job + needs: + job: armel-debian-cross-container variables: IMAGE: debian-armel-cross =20 cross-armhf-system: extends: .cross_system_build_job + needs: + job: armhf-debian-cross-container variables: IMAGE: debian-armhf-cross =20 cross-armhf-user: extends: .cross_user_build_job + needs: + job: armhf-debian-cross-container variables: IMAGE: debian-armhf-cross =20 cross-arm64-system: extends: .cross_system_build_job + needs: + job: arm64-debian-cross-container variables: IMAGE: debian-arm64-cross =20 cross-arm64-user: extends: .cross_user_build_job + needs: + job: arm64-debian-cross-container variables: IMAGE: debian-arm64-cross =20 cross-i386-system: extends: .cross_system_build_job + needs: + job: i386-fedora-cross-container variables: IMAGE: fedora-i386-cross MAKE_CHECK_ARGS: check-qtest =20 cross-i386-user: extends: .cross_user_build_job + needs: + job: i386-fedora-cross-container variables: IMAGE: fedora-i386-cross MAKE_CHECK_ARGS: check =20 cross-mips-system: extends: .cross_system_build_job + needs: + job: mips-debian-cross-container variables: IMAGE: debian-mips-cross =20 cross-mips-user: extends: .cross_user_build_job + needs: + job: mips-debian-cross-container variables: IMAGE: debian-mips-cross =20 cross-mipsel-system: extends: .cross_system_build_job + needs: + job: mipsel-debian-cross-container variables: IMAGE: debian-mipsel-cross =20 cross-mipsel-user: extends: .cross_user_build_job + needs: + job: mipsel-debian-cross-container variables: IMAGE: debian-mipsel-cross =20 cross-mips64el-system: extends: .cross_system_build_job + needs: + job: mips64el-debian-cross-container variables: IMAGE: debian-mips64el-cross =20 cross-mips64el-user: extends: .cross_user_build_job + needs: + job: mips64el-debian-cross-container variables: IMAGE: debian-mips64el-cross =20 cross-ppc64el-system: extends: .cross_system_build_job + needs: + job: ppc64el-debian-cross-container variables: IMAGE: debian-ppc64el-cross =20 cross-ppc64el-user: extends: .cross_user_build_job + needs: + job: ppc64el-debian-cross-container variables: IMAGE: debian-ppc64el-cross =20 cross-s390x-system: extends: .cross_system_build_job + needs: + job: s390x-debian-cross-container variables: IMAGE: debian-s390x-cross =20 cross-s390x-user: extends: .cross_user_build_job + needs: + job: s390x-debian-cross-container variables: IMAGE: debian-s390x-cross =20 cross-s390x-kvm-only: extends: .cross_accel_build_job + needs: + job: s390x-debian-cross-container variables: IMAGE: debian-s390x-cross ACCEL_CONFIGURE_OPTS: --disable-tcg =20 cross-win32-system: extends: .cross_system_build_job + needs: + job: win32-fedora-cross-container variables: IMAGE: fedora-win32-cross =20 cross-win64-system: extends: .cross_system_build_job + needs: + job: win64-fedora-cross-container variables: IMAGE: fedora-win64-cross =20 cross-amd64-xen-only: extends: .cross_accel_build_job + needs: + job: amd64-debian-cross-container variables: IMAGE: debian-amd64-cross ACCEL: xen @@ -156,6 +200,8 @@ cross-amd64-xen-only: =20 cross-arm64-xen-only: extends: .cross_accel_build_job + needs: + job: arm64-debian-cross-container variables: IMAGE: debian-arm64-cross ACCEL: xen diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7adb9a4cef..32cc6bd4a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -109,6 +109,8 @@ acceptance-system-alpine: =20 build-system-ubuntu: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --enable-fdt=3Dsystem --enable-slirp=3Dsystem @@ -141,6 +143,8 @@ acceptance-system-ubuntu: =20 build-system-debian: <<: *native_build_job_definition + needs: + job: amd64-debian-container variables: IMAGE: debian-amd64 CONFIGURE_ARGS: --enable-fdt=3Dsystem @@ -186,6 +190,8 @@ acceptance-system-debian: =20 build-system-fedora: <<: *native_build_job_definition + needs: + job: amd64-fedora-container variables: IMAGE: fedora CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs @@ -219,6 +225,8 @@ acceptance-system-fedora: =20 build-system-centos: <<: *native_build_job_definition + needs: + job: amd64-centos8-container variables: IMAGE: centos8 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=3Dsystem @@ -252,6 +260,8 @@ acceptance-system-centos: =20 build-system-opensuse: <<: *native_build_job_definition + needs: + job: amd64-opensuse-leap-container variables: IMAGE: opensuse-leap CONFIGURE_ARGS: --enable-fdt=3Dsystem @@ -284,6 +294,8 @@ acceptance-system-opensuse: =20 build-disabled: <<: *native_build_job_definition + needs: + job: amd64-fedora-container variables: IMAGE: fedora CONFIGURE_ARGS: @@ -366,6 +378,8 @@ build-disabled: # available. build-tcg-disabled: <<: *native_build_job_definition + needs: + job: amd64-centos8-container variables: IMAGE: centos8 script: @@ -386,6 +400,8 @@ build-tcg-disabled: =20 build-user: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-tools --disable-system @@ -393,6 +409,8 @@ build-user: =20 build-user-static: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-tools --disable-system --static @@ -401,6 +419,8 @@ build-user-static: # Only build the softmmu targets we have check-tcg tests for build-some-softmmu: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-tools --enable-debug @@ -412,6 +432,8 @@ build-some-softmmu: # we skip cris-linux-user as it doesn't use the common run loop build-user-plugins: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --en= able-debug-tcg --target-list-exclude=3Dsparc64-linux-user,cris-linux-user @@ -427,6 +449,8 @@ build-user-centos7: =20 build-some-softmmu-plugins: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-tools --disable-user --enable-plugins --enab= le-debug-tcg @@ -435,6 +459,8 @@ build-some-softmmu-plugins: =20 clang-system: <<: *native_build_job_definition + needs: + job: amd64-fedora-container variables: IMAGE: fedora CONFIGURE_ARGS: --cc=3Dclang --cxx=3Dclang++ @@ -464,6 +490,8 @@ tsan-build: # These targets are on the way out build-deprecated: <<: *native_build_job_definition + needs: + job: amd64-debian-user-cross-container variables: IMAGE: debian-all-test-cross CONFIGURE_ARGS: --disable-docs --disable-tools @@ -501,6 +529,8 @@ gprof-gcov: =20 build-oss-fuzz: <<: *native_build_job_definition + needs: + job: amd64-fedora-container variables: IMAGE: fedora script: @@ -519,6 +549,8 @@ build-oss-fuzz: =20 build-tci: <<: *native_build_job_definition + needs: + job: amd64-fedora-container variables: IMAGE: fedora script: @@ -542,6 +574,8 @@ build-tci: # However we can't test against KVM on Gitlab-CI so we can only run unit t= ests build-coroutine-ucontext: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --with-coroutine=3Ducontext --disable-tcg @@ -549,6 +583,8 @@ build-coroutine-ucontext: =20 build-coroutine-sigaltstack: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --with-coroutine=3Dsigaltstack --disable-tcg @@ -560,6 +596,8 @@ build-coroutine-sigaltstack: # which had some API differences. build-crypto-old-nettle: <<: *native_build_job_definition + needs: + job: amd64-centos7-container variables: IMAGE: centos7 TARGETS: x86_64-softmmu x86_64-linux-user @@ -581,6 +619,8 @@ check-crypto-old-nettle: =20 build-crypto-old-gcrypt: <<: *native_build_job_definition + needs: + job: amd64-centos7-container variables: IMAGE: centos7 TARGETS: x86_64-softmmu x86_64-linux-user @@ -602,6 +642,8 @@ check-crypto-old-gcrypt: =20 build-crypto-only-gnutls: <<: *native_build_job_definition + needs: + job: amd64-centos7-container variables: IMAGE: centos7 TARGETS: x86_64-softmmu x86_64-linux-user @@ -623,18 +665,24 @@ check-crypto-only-gnutls: # We don't need to exercise every backend with every front-end build-trace-multi-user: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --enable-trace-backends=3Dlog,simple,syslog --disable-= system =20 build-trace-ftrace-system: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --enable-trace-backends=3Dftrace --target-list=3Dx86_6= 4-softmmu =20 build-trace-ust-system: <<: *native_build_job_definition + needs: + job: amd64-ubuntu2004-container variables: IMAGE: ubuntu2004 CONFIGURE_ARGS: --enable-trace-backends=3Dust --target-list=3Dx86_64-s= oftmmu @@ -642,12 +690,16 @@ build-trace-ust-system: # Check our reduced build configurations build-without-default-devices: <<: *native_build_job_definition + needs: + job: amd64-centos8-container variables: IMAGE: centos8 CONFIGURE_ARGS: --without-default-devices --disable-user =20 build-without-default-features: <<: *native_build_job_definition + needs: + job: amd64-debian-container variables: IMAGE: debian-amd64 CONFIGURE_ARGS: --without-default-features --disable-user @@ -657,6 +709,8 @@ build-without-default-features: check-patch: stage: build image: $CI_REGISTRY_IMAGE/qemu/centos8:latest + needs: + job: amd64-centos8-container script: .gitlab-ci.d/check-patch.py except: variables: @@ -668,6 +722,8 @@ check-patch: check-dco: stage: build image: $CI_REGISTRY_IMAGE/qemu/centos8:latest + needs: + job: amd64-centos8-container script: .gitlab-ci.d/check-dco.py except: variables: @@ -678,6 +734,8 @@ check-dco: build-libvhost-user: stage: build image: $CI_REGISTRY_IMAGE/qemu/fedora:latest + needs: + job: amd64-fedora-container before_script: - dnf install -y meson ninja-build script: --=20 2.29.2