From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8798B1E505 for ; Mon, 12 May 2025 14:16:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747059362; cv=none; b=dF4oy/IdN8Rvc2mCnBygo1IytOzFc598mcEMO92zcWVGCbgOpZi7AmbN+Dc5sJWMK4VvKBAcfHijUXLANRBvg6vZFiUYMescNNiwteBo/H2nhG4s+oh6gg+P1TRiQAj5kUyqpOSRvPdx172Cv1xH7xYKtKcXrNgfh6OcKEsm9KE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747059362; c=relaxed/simple; bh=S1UEPky7ffq3ETjleHV8B381EVpLnc2xwek8RgNQfrU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=rl0AlbJjGXSahLD05t3JmMhcdo4sukmon912c4sD4spWV6zpKFdyvO7wshhIQYgbQTJ4xXt1r3LfY/JqVU563qrrfdd9eisCrVzIfUATQrO98bq2l/3UCOn4t/9igj6oQcX0XI45KrFHfK9q/8oZ43HuIfs5FkjApv+Ag65bywU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RPMVyDpo; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RPMVyDpo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D298C4CEE7; Mon, 12 May 2025 14:16:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747059362; bh=S1UEPky7ffq3ETjleHV8B381EVpLnc2xwek8RgNQfrU=; h=From:Date:Subject:To:Cc:From; b=RPMVyDpoJEU3LRZkMcUPxC1Eo16Uf8RieIqhVmDZIMbG+o65YiLxox2DzT4N0sex7 WgTmgJQlYgGULNxYdgybSqI/YrvzlLsYI2109P79bFa7IKBUgOM2dPlcrfb7HcRcNK 6PMhqtkF4wuT3G8O80Bilhd5OqoT1wO1OMF720vnKc0jVVtVHn7dIiQv9Y4ze4rubi o0+WLWYnGvkjV/qTmF6uSGK/ChFPq3DoOSfOFwyGeKyRfuUr89xIA8JIyq4sn4xvIu TS3tbIyPRs0kmoKYIxBpz+OnmkCR7WyWV6kRUuDUZZTFUnC5fQ5Iowc1VBxRYX9TgL WMaADLoA2froQ== From: Daniel Gomez Date: Mon, 12 May 2025 16:15:50 +0200 Subject: [PATCH] ci: add CI_WORKFLOW parameter Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250512-ci-workflow-v1-1-9ae199d83ebe@samsung.com> X-B4-Tracking: v=1; b=H4sIAJUCImgC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI1MDU0Mj3eRM3fL8ouy0nPxyXTMLM/MkM3NTyySDRCWgjoKi1LTMCrBp0bG 1tQBxO0sCXQAAAA== X-Change-ID: 20250512-ci-workflow-6867b6759b0a To: kdevops@lists.linux.dev, Luis Chamberlain Cc: Daniel Gomez , Daniel Gomez X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4499; i=da.gomez@samsung.com; h=from:subject:message-id; bh=6s2xQD7UX6Bx+b5uoV8byWr7KfSVBajwR0lIXCcMam0=; b=owEBbQKS/ZANAwAIAYX1bqTp6BOPAcsmYgBoIgKfHleF2WUoDrZWjl/hZI9bBNpwyYfAdUdz2 uMnOBRV4ZeJAjMEAAEIAB0WIQSyp6nP3QO1QP9YsnGF9W6k6egTjwUCaCICnwAKCRCF9W6k6egT j7WZEACn4FmVozJstGpOz5xHxcsNUmhK8D0Z1/HFC2R6CHyXoPLoU4CbxDfuRjpH4dhPoiWEfp8 vIWoWVxQA0kr8tIWduFon78+f+poP1VlS6Phw6Wf+Cw1XlsuXgAvLSZDX9cRJoPS4EcAg+ts9tB HYhWJRMhMY1beNo5160iC0PyfGdwEIk4E1Cer6fyZIKa+fxWLsOth9K4EV7atdB56Bg6WUqHWd4 dT4sAdIeIsRFsKr0f31cV272oFXpAxEoXq9pT4s/vrO4YhXo6pyJohz25YjpYdUwyRQLRziMCv/ BfALktSt5HIQJHSjJ1w4Hk6I6sO/UxJ8YC+t6Qw8LyYPA4TEbHdW4wT4u1G2BRYf3w53YMShrVs 6PmC67EnFwIQqG+v2EE76PH8vbeAYOZlNBf0IaqL61i/9aSRJiK2mGKm5nuassRHLGav2uTvTyv oX62ly9ZH41yLVIjr5y9xYHfOAQSDmfiVYzGmr80ODrzsnFL4Q70yc2aVb9HLJjh+qJpP9ax78t qCMaAG8CwhAWfpXcC93IEuagcSpT7varXqGvuuyCmQu8jYRmfry3mlMML3LU/Wktnn8+FbN53As 7hMrEm3/LVlmvyxq/HFZe+VHhOD40+RWtTus39VTmx4dJciHUxfpIYYlYAlhyl8IZ3qVK0F6F+T K7SfxXLunQVLvBg== X-Developer-Key: i=da.gomez@samsung.com; a=openpgp; fpr=B2A7A9CFDD03B540FF58B27185F56EA4E9E8138F From: Daniel Gomez A typical kdevops CI workflow includes: make defconfig- make make bringup make linux make ci-build-test make ci-test make ci-results make destroy These ci-* targets internally run specific Makefile targets such as selftest (for ci-build-test) or selftests-baseline / fstests-baseline (for ci-test), depending on the repository name. This change adds the CI_WORKFLOW Makefile variable to allow customizing the CI workflow when the repository name alone is not sufficient, for example, to support multiple workflows within the same repository. Rename BOOTLINUX_BASELINE_BASENAME to the CI_WORKFLOW_BASENAME to better describe the purpose of the string. Signed-off-by: Daniel Gomez --- scripts/ci.Makefile | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/scripts/ci.Makefile b/scripts/ci.Makefile index ffb83f9369b0321eaab2193d4c29113710e8a643..164e72ee8c7abf4e384f003a6d6f01251287bb54 100644 --- a/scripts/ci.Makefile +++ b/scripts/ci.Makefile @@ -2,13 +2,20 @@ # Collection of CI build targets per kernel repo +CI_WORKFLOW ?= "" ifeq (y,$(CONFIG_BOOTLINUX)) -BOOTLINUX_BASENAME := $(shell basename $(CONFIG_BOOTLINUX_TREE) | sed 's/\.git$$//') -ifneq ($(wildcard .ci/build-test/$(BOOTLINUX_BASENAME)),) -ifneq ($(wildcard .ci/test/$(BOOTLINUX_BASENAME)),) -ifneq ($(wildcard .ci/results/$(BOOTLINUX_BASENAME)),) -ci-build-test: ci-build-test-$(BOOTLINUX_BASENAME) +ifeq ($(strip $(CI_WORKFLOW)),) +CI_WORKFLOW_BASENAME := $(shell basename $(CONFIG_BOOTLINUX_TREE) | sed 's/\.git$$//') +else +CI_WORKFLOW_BASENAME := $(shell basename $(CI_WORKFLOW)) +endif + +ifneq ($(wildcard .ci/build-test/$(CI_WORKFLOW_BASENAME)),) +ifneq ($(wildcard .ci/test/$(CI_WORKFLOW_BASENAME)),) +ifneq ($(wildcard .ci/results/$(CI_WORKFLOW_BASENAME)),) + +ci-build-test: ci-build-test-$(CI_WORKFLOW_BASENAME) PHONY += build-test @@ -17,51 +24,51 @@ ci-build-test-%:: while IFS= read -r line || [ -n "$$line" ]; do \ echo "Running: $$line"; \ $$line; \ - done < .ci/build-test/$(BOOTLINUX_BASENAME); \ + done < .ci/build-test/$(CI_WORKFLOW_BASENAME); \ ci-build-test-help-menu: - @echo "kdevops built-in CI build tests for $(BOOTLINUX_BASENAME):" + @echo "kdevops built-in CI build tests for $(CI_WORKFLOW_BASENAME):" @echo "ci-build-test - Git clones a linux git tree, build Linux, installs and reboots into it" @while IFS= read -r line || [ -n "$$line" ]; do \ echo -e "\t$$line"; \ - done < .ci/build-test/$(BOOTLINUX_BASENAME) + done < .ci/build-test/$(CI_WORKFLOW_BASENAME) @echo HELP_TARGETS += ci-build-test-help-menu -ci-test: ci-test-$(BOOTLINUX_BASENAME) +ci-test: ci-test-$(CI_WORKFLOW_BASENAME) ci-test-%:: @set -e; \ while IFS= read -r line || [ -n "$$line" ]; do \ echo "Running: $$line"; \ $$line; \ - done < .ci/test/$(BOOTLINUX_BASENAME); \ + done < .ci/test/$(CI_WORKFLOW_BASENAME); \ ci-test-help-menu: - @echo "kdevops built-in run time tests for $(BOOTLINUX_BASENAME):" + @echo "kdevops built-in run time tests for $(CI_WORKFLOW_BASENAME):" @echo "ci-test - Git clones a linux git tree, build Linux, installs and reboots into it" @while IFS= read -r line || [ -n "$$line" ]; do \ echo -e "\t$$line"; \ - done < .ci/test/$(BOOTLINUX_BASENAME) + done < .ci/test/$(CI_WORKFLOW_BASENAME) @echo HELP_TARGETS += ci-test-help-menu -ci-results: ci-results-$(BOOTLINUX_BASENAME) +ci-results: ci-results-$(CI_WORKFLOW_BASENAME) ci-results-%:: @set -e; \ while IFS= read -r line || [ -n "$$line" ]; do \ echo -e "$$line"; \ - done < .ci/results/$(BOOTLINUX_BASENAME) + done < .ci/results/$(CI_WORKFLOW_BASENAME) ci-results-help-menu: - @echo "kdevops built-in results tests for $(BOOTLINUX_BASENAME) can be found in directories:" + @echo "kdevops built-in results tests for $(CI_WORKFLOW_BASENAME) can be found in directories:" @echo "ci-results - List of directories where you can find test results" @while IFS= read -r line || [ -n "$$line" ]; do \ echo -e "\t$$line"; \ - done < .ci/results/$(BOOTLINUX_BASENAME) + done < .ci/results/$(CI_WORKFLOW_BASENAME) @echo HELP_TARGETS += ci-results-help-menu --- base-commit: ef549598f2261ac89643d3e7a8ea0f050fc27c5f change-id: 20250512-ci-workflow-6867b6759b0a Best regards, -- Daniel Gomez