Currently it's not possible to select which runner will handle a pipeline without changing the codebase. Add CI_TAGS environment variable, which can be used to select a runner either from a commit message, or directly from Gitlab interface. Also add Documentation for this variable. Signed-off-by: Leonardo Bras <leobras@xxxxxxxxxx> --- This patch goes on top on a previous patchset sent by Helen: https://lore.kernel.org/all/20240228225527.1052240-1-helen.koike@xxxxxxxxxxxxx/ With this patch I could run CI with gitlab.com runners, by setting CI_TAGS=saas-linux-medium-amd64 The result of this pipeline can be seen in: https://gitlab.com/linux-kernel/linux/-/pipelines/1228999646 Documentation/ci/gitlab-ci/gitlab-ci.rst | 5 +++++ ci/gitlab-ci/yml/gitlab-ci.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/Documentation/ci/gitlab-ci/gitlab-ci.rst b/Documentation/ci/gitlab-ci/gitlab-ci.rst index 4f7ef03cca95..18360da835bd 100644 --- a/Documentation/ci/gitlab-ci/gitlab-ci.rst +++ b/Documentation/ci/gitlab-ci/gitlab-ci.rst @@ -304,20 +304,25 @@ Description of Each Variable **KCI_CHECKPATCH_OPTIONS** Used in `checkpatch.pl "$KCI_CHECKPATCH_OPTIONS"` (see checkpatch documentation). It is commonly used with the --ignore flag to suppress specific warnings generated by checkpatch.pl. It can also be defined in the commit message, since it is evaluated in run time. **KCI_PATCH_SERIES_SIZE** Used to define the size of the patch series, see `job: checkpatch` section above. It is evaluated in run time, and can be set in the commit message. +**CI_TAGS** + Used to help choose which runner will deal with the current pipeline. + If using Gitlab.com runners, set saas-linux-medium-amd64 or a better runner + so there is enough resources to build & commit the base image. + .. _triggering-pipelines-from-command-line: Triggering Pipelines from Command Line -------------------------------------- Pipelines can be triggered from the command line with custom variables using the `GitLab CLI tool <https://docs.gitlab.com/ee/editor_extensions/gitlab_cli>`_. Example: diff --git a/ci/gitlab-ci/yml/gitlab-ci.yml b/ci/gitlab-ci/yml/gitlab-ci.yml index 57b9c0290471..359b7715e3ab 100644 --- a/ci/gitlab-ci/yml/gitlab-ci.yml +++ b/ci/gitlab-ci/yml/gitlab-ci.yml @@ -33,20 +33,22 @@ workflow: - if: $FORCE_CI == 'true' variables: FDO_UPSTREAM_REPO: helen.fornazier/linux # The repo where to look for cached images # ccache builds in gitlab-runner to speed up builds SMATCH_DB_DIR: /smatch/smatch_data # exit code of bash script on `script` will be the exit code of the job FF_USE_NEW_BASH_EVAL_STRATEGY: "true" default: + tags: + - $CI_TAGS artifacts: paths: - artifacts/ when: always include: - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/16bc29078de5e0a067ff84a1a199a3760d3b3811/templates/ci-fairy.yml' - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/16bc29078de5e0a067ff84a1a199a3760d3b3811/templates/debian.yml' - ci/gitlab-ci/yml/kernel-combinations.yml -- 2.44.0