summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTed Zlatanov <tzz@lifelogs.com>2021-01-19 13:35:07 +0000
committerTed Zlatanov <tzz@lifelogs.com>2021-01-19 18:00:55 +0000
commit1248c67484d599b36e094f0e641c82482fd269ce (patch)
treefa94c70eca95a5cff4ebfcae3c63cdbfe0cf9c8d /test
parentbfa140d7cf82ed640d033391cde505ab020de0f2 (diff)
downloademacs-1248c67484d599b36e094f0e641c82482fd269ce.tar.gz
* test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related.
Diffstat (limited to 'test')
-rw-r--r--test/infra/gitlab-ci.yml37
1 files changed, 33 insertions, 4 deletions
diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml
index 3214f01eddb..ddabacfe010 100644
--- a/test/infra/gitlab-ci.yml
+++ b/test/infra/gitlab-ci.yml
@@ -49,6 +49,8 @@ variables:
# DOCKER_TLS_CERTDIR: "/certs"
# Put the configuration for each run in a separate directory to avoid conflicts
DOCKER_CONFIG: "/.docker-config-${CI_COMMIT_SHA}"
+ # We don't use ${CI_COMMIT_SHA} to be able to do one bootstrap across multiple builds
+ BUILD_TAG: ${CI_COMMIT_REF_SLUG}
default:
image: docker:19.03.12
@@ -96,17 +98,42 @@ default:
# - "**/*.log"
# using the variables for each job
script:
- - docker pull ${CI_REGISTRY_IMAGE}:${target}-${CI_COMMIT_SHA}
+ - docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG}
# TODO: with make -j4 several of the tests were failing, for example shadowfile-tests, but passed without it
- - docker run -i --rm -e EMACS_EMBA_CI=${EMACS_EMBA_CI} ${CI_REGISTRY_IMAGE}:${target}-${CI_COMMIT_SHA} make ${make_params}
+ - docker run -i --rm -e EMACS_EMBA_CI=${EMACS_EMBA_CI} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} make ${make_params}
.build-template:
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "web"'
+ when: always
+ - changes:
+ - "**/Makefile.in"
+ - .gitlab-ci.yml
+ - aclocal.m4
+ - autogen.sh
+ - configure.ac
+ - lib/*.{h,c}
+ - lisp/emacs-lisp/*.el
+ - src/*.{h,c}
+ - test/infra/*
+ - changes:
+ # gfilemonitor, kqueue
+ - src/gfilenotify.c
+ - src/kqueue.c
+ # MS Windows
+ - "**/w32*"
+ # GNUstep
+ - lisp/term/ns-win.el
+ - src/ns*.{h,m}
+ - src/macfont.{h,m}
+ when: never
script:
- - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${CI_COMMIT_SHA} -f test/infra/Dockerfile.emba .
- - docker push ${CI_REGISTRY_IMAGE}:${target}-${CI_COMMIT_SHA}
+ - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} -f test/infra/Dockerfile.emba .
+ - docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG}
.gnustep-template:
rules:
+ - if: '$CI_PIPELINE_SOURCE == "web"'
- if: '$CI_PIPELINE_SOURCE == "schedule"'
changes:
- "**/Makefile.in"
@@ -120,6 +147,7 @@ default:
.filenotify-gio-template:
rules:
+ - if: '$CI_PIPELINE_SOURCE == "web"'
- if: '$CI_PIPELINE_SOURCE == "schedule"'
changes:
- "**/Makefile.in"
@@ -208,6 +236,7 @@ test-all-inotify:
extends: [.job-template]
rules:
# note there's no "changes" section, so this always runs on a schedule
+ - if: '$CI_PIPELINE_SOURCE == "web"'
- if: '$CI_PIPELINE_SOURCE == "schedule"'
variables:
target: emacs-inotify