* [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions
@ 2021-07-27 14:24 Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 1/4] docs: Document GitLab custom CI/CD variables Philippe Mathieu-Daudé
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-27 14:24 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Thomas Huth, Bin Meng, Alex Bennée
Since v4:
- Fixed typo, update link (thuth)
Since v3:
- Unfortunately patch 4 v2 got merged as 0a9487d80af so
rebase & reword.
Philippe Mathieu-Daudé (4):
docs: Document GitLab custom CI/CD variables
gitlab-ci: Fix 'when:' condition in acceptance_test_job_template
gitlab-ci: Fix 'when:' condition in EDK2 jobs
gitlab-ci: Fix 'when:' condition in OpenSBI jobs
docs/devel/ci.rst | 40 +++++++++++++++++++++++++++++
.gitlab-ci.d/buildtest-template.yml | 4 +--
.gitlab-ci.d/edk2.yml | 6 ++---
.gitlab-ci.d/opensbi.yml | 8 +++---
.gitlab-ci.yml | 19 ++------------
5 files changed, 51 insertions(+), 26 deletions(-)
--
2.31.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH-for-6.1 v5 1/4] docs: Document GitLab custom CI/CD variables
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
@ 2021-07-27 14:24 ` Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 2/4] gitlab-ci: Fix 'when:' condition in acceptance_test_job_template Philippe Mathieu-Daudé
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-27 14:24 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Daniel P . Berrangé,
Alex Bennée, Willian Rampazzo, Bin Meng,
Philippe Mathieu-Daudé
We introduced the QEMU_CI_AVOCADO_TESTING variable in commit f56bf4caf
("gitlab: Run Avocado tests manually (except mainstream CI)"), but
forgot to document it properly. Do it now.
Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
docs/devel/ci.rst | 40 ++++++++++++++++++++++++++++++++++++++++
.gitlab-ci.yml | 19 ++-----------------
2 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst
index b3bf3ef615b..205572510c6 100644
--- a/docs/devel/ci.rst
+++ b/docs/devel/ci.rst
@@ -8,6 +8,46 @@ found at::
https://wiki.qemu.org/Testing/CI
+Custom CI/CD variables
+======================
+
+QEMU CI pipelines can be tuned by setting some CI environment variables.
+
+Set variable globally in the user's CI namespace
+------------------------------------------------
+
+Variables can be set globally in the user's CI namespace setting.
+
+For further information about how to set these variables, please refer to::
+
+ https://docs.gitlab.com/ee/ci/variables/#add-a-cicd-variable-to-a-project
+
+Set variable manually when pushing a branch or tag to the user's repository
+---------------------------------------------------------------------------
+
+Variables can be set manually when pushing a branch or tag, using
+git-push command line arguments.
+
+Example setting the QEMU_CI_EXAMPLE_VAR variable:
+
+.. code::
+
+ git push -o ci.variable="QEMU_CI_EXAMPLE_VAR=value" myrepo mybranch
+
+For further information about how to set these variables, please refer to::
+
+ https://docs.gitlab.com/ee/user/project/push_options.html#push-options-for-gitlab-cicd
+
+Here is a list of the most used variables:
+
+QEMU_CI_AVOCADO_TESTING
+~~~~~~~~~~~~~~~~~~~~~~~
+By default, tests using the Avocado framework are not run automatically in
+the pipelines (because multiple artifacts have to be downloaded, and if
+these artifacts are not already cached, downloading them make the jobs
+reach the timeout limit). Set this variable to have the tests using the
+Avocado framework run automatically.
+
Jobs on Custom Runners
======================
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6dc5385e697..9762dda2ee3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,24 +16,9 @@
# QEMU CI jobs are based on templates. Some templates provide
# user-configurable options, modifiable via configuration variables.
#
-# These variables can be set globally in the user's CI namespace
-# setting:
-# https://docs.gitlab.com/ee/ci/variables/#create-a-custom-variable-in-the-ui
-# or set manually each time a branch/tag is pushed, as a git-push
-# command line argument:
-# https://docs.gitlab.com/ee/user/project/push_options.html#push-options-for-gitlab-cicd
+# See https://qemu-project.gitlab.io/qemu/devel/ci.html#custom-ci-cd-variables
+# for more information.
#
-# Example setting the QEMU_CI_EXAMPLE_VAR variable:
-#
-# git push -o ci.variable="QEMU_CI_EXAMPLE_VAR=value" myrepo mybranch
-#
-# ----------------------------------------------------------------------
-#
-# List of environment variables that can be use to modify the set
-# of jobs selected:
-#
-# - QEMU_CI_AVOCADO_TESTING
-# If set, tests using the Avocado framework will be run
include:
- local: '/.gitlab-ci.d/qemu-project.yml'
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH-for-6.1 v5 2/4] gitlab-ci: Fix 'when:' condition in acceptance_test_job_template
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 1/4] docs: Document GitLab custom CI/CD variables Philippe Mathieu-Daudé
@ 2021-07-27 14:24 ` Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 3/4] gitlab-ci: Fix 'when:' condition in EDK2 jobs Philippe Mathieu-Daudé
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-27 14:24 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Daniel P . Berrangé,
Alex Bennée, Willian Rampazzo, Bin Meng,
Philippe Mathieu-Daudé
Jobs depending on another should not use the 'when: always'
condition, because if a dependency failed we should not keep
running jobs depending on it. The correct condition is
'when: on_success'.
Fixes: f56bf4caf71 ("gitlab: Run Avocado tests manually (except mainstream CI)")
Reported-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
.gitlab-ci.d/buildtest-template.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/buildtest-template.yml b/.gitlab-ci.d/buildtest-template.yml
index 3e3e19d96bd..fcbcc4e627a 100644
--- a/.gitlab-ci.d/buildtest-template.yml
+++ b/.gitlab-ci.d/buildtest-template.yml
@@ -73,9 +73,9 @@
# in its namespace setting or via git-push option, see documentation
# in /.gitlab-ci.yml of this repository).
- if: '$CI_PROJECT_NAMESPACE == "qemu-project"'
- when: always
+ when: on_success
- if: '$QEMU_CI_AVOCADO_TESTING'
- when: always
+ when: on_success
# Otherwise, set to manual (the jobs are created but not run).
- when: manual
allow_failure: true
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH-for-6.1 v5 3/4] gitlab-ci: Fix 'when:' condition in EDK2 jobs
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 1/4] docs: Document GitLab custom CI/CD variables Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 2/4] gitlab-ci: Fix 'when:' condition in acceptance_test_job_template Philippe Mathieu-Daudé
@ 2021-07-27 14:24 ` Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs Philippe Mathieu-Daudé
2021-07-27 15:57 ` [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Thomas Huth
4 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-27 14:24 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Daniel P . Berrangé,
Alex Bennée, Willian Rampazzo, Bin Meng,
Philippe Mathieu-Daudé
Jobs depending on another should not use the 'when: always'
condition, because if a dependency failed we should not keep
running jobs depending on it. The correct condition is
'when: on_success'.
Fixes: 71920809cea ("gitlab-ci.yml: Add jobs to build EDK2 firmware binaries")
Reported-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
.gitlab-ci.d/edk2.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.gitlab-ci.d/edk2.yml b/.gitlab-ci.d/edk2.yml
index aae2f7ad880..62497ba47fb 100644
--- a/.gitlab-ci.d/edk2.yml
+++ b/.gitlab-ci.d/edk2.yml
@@ -8,11 +8,11 @@
- .gitlab-ci.d/edk2/Dockerfile
# or roms/edk2/ is modified (submodule updated)
- roms/edk2/*
- when: always
+ when: on_success
- if: '$CI_COMMIT_REF_NAME =~ /^edk2/' # or the branch/tag starts with 'edk2'
- when: always
+ when: on_success
- if: '$CI_COMMIT_MESSAGE =~ /edk2/i' # or last commit description contains 'EDK2'
- when: always
+ when: on_success
docker-edk2:
extends: .edk2_job_rules
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2021-07-27 14:24 ` [PATCH-for-6.1 v5 3/4] gitlab-ci: Fix 'when:' condition in EDK2 jobs Philippe Mathieu-Daudé
@ 2021-07-27 14:24 ` Philippe Mathieu-Daudé
2021-07-27 15:21 ` Willian Rampazzo
2021-07-27 15:57 ` [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Thomas Huth
4 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-07-27 14:24 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé,
Thomas Huth, Bin Meng, Alex Bennée, Daniel P . Berrangé
Jobs depending on another should not use the 'when: always'
condition, because if a dependency failed we should not keep
running jobs depending on it. The correct condition is
'when: on_success'.
Fixes: c6fc0fc1a71 ("gitlab-ci.yml: Add jobs to build OpenSBI firmware binaries")
Reported-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
.gitlab-ci.d/opensbi.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.gitlab-ci.d/opensbi.yml b/.gitlab-ci.d/opensbi.yml
index d8a0456679e..5e0a2477c5d 100644
--- a/.gitlab-ci.d/opensbi.yml
+++ b/.gitlab-ci.d/opensbi.yml
@@ -6,14 +6,14 @@
- .gitlab-ci.d/opensbi.yml
# or the Dockerfile is modified
- .gitlab-ci.d/opensbi/Dockerfile
- when: always
+ when: on_success
- changes: # or roms/opensbi/ is modified (submodule updated)
- roms/opensbi/*
- when: always
+ when: on_success
- if: '$CI_COMMIT_REF_NAME =~ /^opensbi/' # or the branch/tag starts with 'opensbi'
- when: always
+ when: on_success
- if: '$CI_COMMIT_MESSAGE =~ /opensbi/i' # or last commit description contains 'OpenSBI'
- when: always
+ when: on_success
docker-opensbi:
extends: .opensbi_job_rules
--
2.31.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs
2021-07-27 14:24 ` [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs Philippe Mathieu-Daudé
@ 2021-07-27 15:21 ` Willian Rampazzo
0 siblings, 0 replies; 7+ messages in thread
From: Willian Rampazzo @ 2021-07-27 15:21 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Daniel P . Berrangé,
Thomas Huth, Bin Meng, Alex Bennée, qemu-devel
On Tue, Jul 27, 2021 at 11:27 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Jobs depending on another should not use the 'when: always'
> condition, because if a dependency failed we should not keep
> running jobs depending on it. The correct condition is
> 'when: on_success'.
>
> Fixes: c6fc0fc1a71 ("gitlab-ci.yml: Add jobs to build OpenSBI firmware binaries")
> Reported-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> .gitlab-ci.d/opensbi.yml | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2021-07-27 14:24 ` [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs Philippe Mathieu-Daudé
@ 2021-07-27 15:57 ` Thomas Huth
4 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2021-07-27 15:57 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Bin Meng, Alex Bennée
On 27/07/2021 16.24, Philippe Mathieu-Daudé wrote:
> Since v4:
> - Fixed typo, update link (thuth)
>
> Since v3:
> - Unfortunately patch 4 v2 got merged as 0a9487d80af so
> rebase & reword.
>
> Philippe Mathieu-Daudé (4):
> docs: Document GitLab custom CI/CD variables
> gitlab-ci: Fix 'when:' condition in acceptance_test_job_template
> gitlab-ci: Fix 'when:' condition in EDK2 jobs
> gitlab-ci: Fix 'when:' condition in OpenSBI jobs
>
> docs/devel/ci.rst | 40 +++++++++++++++++++++++++++++
> .gitlab-ci.d/buildtest-template.yml | 4 +--
> .gitlab-ci.d/edk2.yml | 6 ++---
> .gitlab-ci.d/opensbi.yml | 8 +++---
> .gitlab-ci.yml | 19 ++------------
> 5 files changed, 51 insertions(+), 26 deletions(-)
Thanks, queued to my testing-next tree now:
https://gitlab.com/thuth/qemu/-/commits/testing-next/
Thomas
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-07-27 15:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27 14:24 [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 1/4] docs: Document GitLab custom CI/CD variables Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 2/4] gitlab-ci: Fix 'when:' condition in acceptance_test_job_template Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 3/4] gitlab-ci: Fix 'when:' condition in EDK2 jobs Philippe Mathieu-Daudé
2021-07-27 14:24 ` [PATCH-for-6.1 v5 4/4] gitlab-ci: Fix 'when:' condition in OpenSBI jobs Philippe Mathieu-Daudé
2021-07-27 15:21 ` Willian Rampazzo
2021-07-27 15:57 ` [PATCH-for-6.1 v5 0/4] gitlab-ci: Document custom CI/CD variables, fix 'when:' conditions Thomas Huth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.