[gnome-shell-extensions] ci: Replace only/except with rules
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell-extensions] ci: Replace only/except with rules
- Date: Sat, 21 Nov 2020 00:21:14 +0000 (UTC)
commit 02db9525e76b9925c9235f01f04e68a7d6a4d8be
Author: Jordan Petridis <jpetridis gnome org>
Date: Fri Nov 20 14:54:13 2020 +0100
ci: Replace only/except with rules
only/except keywords where deperecated in favor of rules.
Since we started using GNOME/gnome-shell!1492 it introduced
a second pipeline being run for each commit.
Detached pipelines are the only way to access CI_MERGE_REQUEST_*
variables, and if we disable normal pipelines you will need to
create wip/spam MRs in order to run the tests.
This reworked rules makes it so, the normal pipeline needs manual
interaction to be started, and the detached/MR pipleines is always
run.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/144>
.gitlab-ci.yml | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 260af5a..2aabb9a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,11 +24,19 @@ variables:
LINT_LOG: "eslint-report.xml"
JS_LOG: "js-report.txt"
-.only_default: &only_default
- only:
- - branches
- - tags
- - merge_requests
+workflow:
+ rules:
+ - if: '$CI_MERGE_REQUEST_IID'
+ - if: '$CI_COMMIT_TAG'
+ - if: '$CI_COMMIT_BRANCH'
+
+.pipeline_guard: &pipeline_guard
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ - if: '$CI_COMMIT_TAG'
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+ - if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
+ - when: 'manual'
check_commit_log:
extends:
@@ -36,7 +44,7 @@ check_commit_log:
stage: pre_review
script:
- ./.gitlab-ci/check-commit-log.sh
- <<: *only_default
+ <<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
@@ -55,7 +63,7 @@ check-merge-request:
else
echo "Not a merge request" ;
fi
- <<: *only_default
+ <<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
@@ -68,7 +76,6 @@ js_check:
script:
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG)
- <<: *only_default
artifacts:
paths:
- ${JS_LOG}
@@ -78,7 +85,6 @@ eslint:
stage: review
script:
- eslint -o $LINT_LOG -f junit extensions
- <<: *only_default
artifacts:
paths:
- ${LINT_LOG}
@@ -90,7 +96,6 @@ build-bundles:
needs: ["check_commit_log"]
script:
- ./export-zips.sh
- <<: *only_default
artifacts:
name: 'Extension bundles'
expose_as: 'Get Extension bundles here'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]