diff options
| author | Michael Albinus | 2021-11-20 10:07:48 +0100 |
|---|---|---|
| committer | Michael Albinus | 2021-11-20 10:07:48 +0100 |
| commit | 9f06977782ef58fa40bed69368ab92a080f035ec (patch) | |
| tree | d36d888fc5ee668acf7f35a735bd2aa85f97ee22 | |
| parent | 88458f7354e904a50ed1389869266437ba084533 (diff) | |
| download | emacs-9f06977782ef58fa40bed69368ab92a080f035ec.tar.gz emacs-9f06977782ef58fa40bed69368ab92a080f035ec.zip | |
Continue adaptions of emba files
* test/infra/default-gitlab-ci.yml: New file, derived from
gitlab-ci.yml.
* test/infra/gitlab-ci.yml (top, test-jobs-pipeline):
Include default-gitlab-ci.yml.
(stages): Remove normal.
* test/infra/test-jobs-generator.sh: Generate also stages entry.
| -rw-r--r-- | .gitlab-ci.yml | 2 | ||||
| -rw-r--r-- | test/infra/default-gitlab-ci.yml | 216 | ||||
| -rw-r--r-- | test/infra/gitlab-ci.yml | 194 | ||||
| -rwxr-xr-x | test/infra/test-jobs-generator.sh | 10 |
4 files changed, 230 insertions, 192 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3138f4184e6..402c17ddb85 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | # You should have received a copy of the GNU General Public License | 15 | # You should have received a copy of the GNU General Public License |
| 16 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | 16 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. |
| 17 | 17 | ||
| 18 | # GNU Emacs support for the GitLab protocol for CI | 18 | # GNU Emacs support for the GitLab protocol for CI. |
| 19 | 19 | ||
| 20 | # The presence of this file does not imply any FSF/GNU endorsement of | 20 | # The presence of this file does not imply any FSF/GNU endorsement of |
| 21 | # any particular service that uses that protocol. Also, it is intended for | 21 | # any particular service that uses that protocol. Also, it is intended for |
diff --git a/test/infra/default-gitlab-ci.yml b/test/infra/default-gitlab-ci.yml new file mode 100644 index 00000000000..f6fadee27f3 --- /dev/null +++ b/test/infra/default-gitlab-ci.yml | |||
| @@ -0,0 +1,216 @@ | |||
| 1 | # Copyright (C) 2017-2021 Free Software Foundation, Inc. | ||
| 2 | # | ||
| 3 | # This file is part of GNU Emacs. | ||
| 4 | # | ||
| 5 | # GNU Emacs is free software: you can redistribute it and/or modify | ||
| 6 | # it under the terms of the GNU General Public License as published by | ||
| 7 | # the Free Software Foundation, either version 3 of the License, or | ||
| 8 | # (at your option) any later version. | ||
| 9 | # | ||
| 10 | # GNU Emacs is distributed in the hope that it will be useful, | ||
| 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | # GNU General Public License for more details. | ||
| 14 | # | ||
| 15 | # You should have received a copy of the GNU General Public License | ||
| 16 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | ||
| 17 | |||
| 18 | # GNU Emacs support for the GitLab protocol for CI. | ||
| 19 | |||
| 20 | # The presence of this file does not imply any FSF/GNU endorsement of | ||
| 21 | # any particular service that uses that protocol. Also, it is intended for | ||
| 22 | # evaluation purposes, thus possibly temporary. | ||
| 23 | |||
| 24 | # Maintainer: Ted Zlatanov <tzz@lifelogs.com> | ||
| 25 | # URL: https://emba.gnu.org/emacs/emacs | ||
| 26 | |||
| 27 | # Never run merge request pipelines, they usually duplicate push pipelines | ||
| 28 | # see https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules | ||
| 29 | |||
| 30 | # Rules: always run tags and branches named master*, emacs*, feature*, fix* | ||
| 31 | # Test that it triggers by pushing a tag: `git tag mytag; git push origin mytag` | ||
| 32 | # Test that it triggers by pushing to: feature/emba, feature1, master, master-2, fix/emba, emacs-299, fix-2 | ||
| 33 | # Test that it doesn't trigger by pushing to: scratch-2, scratch/emba, oldbranch, dev | ||
| 34 | workflow: | ||
| 35 | rules: | ||
| 36 | - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' | ||
| 37 | when: never | ||
| 38 | - if: '$CI_COMMIT_TAG' | ||
| 39 | when: always | ||
| 40 | - if: '$CI_COMMIT_BRANCH !~ /^(master|emacs|feature|fix)/' | ||
| 41 | when: never | ||
| 42 | - when: always | ||
| 43 | |||
| 44 | variables: | ||
| 45 | GIT_STRATEGY: fetch | ||
| 46 | EMACS_EMBA_CI: 1 | ||
| 47 | # Three hours, see below. | ||
| 48 | EMACS_TEST_TIMEOUT: 10800 | ||
| 49 | EMACS_TEST_VERBOSE: 1 | ||
| 50 | # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled | ||
| 51 | # DOCKER_HOST: tcp://docker:2376 | ||
| 52 | # DOCKER_TLS_CERTDIR: "/certs" | ||
| 53 | # Put the configuration for each run in a separate directory to | ||
| 54 | # avoid conflicts. | ||
| 55 | DOCKER_CONFIG: "/.docker-config-${CI_COMMIT_SHA}" | ||
| 56 | DOCKER_BUILDKIT: 1 | ||
| 57 | # We don't use ${CI_COMMIT_SHA} to be able to do one bootstrap | ||
| 58 | # across multiple builds. | ||
| 59 | BUILD_TAG: ${CI_COMMIT_REF_SLUG} | ||
| 60 | # Disable if you don't need it, it can be a security risk. | ||
| 61 | CI_DEBUG_TRACE: "true" | ||
| 62 | |||
| 63 | default: | ||
| 64 | image: docker:19.03.12 | ||
| 65 | timeout: 3 hours | ||
| 66 | before_script: | ||
| 67 | - docker info | ||
| 68 | - echo "docker registry is ${CI_REGISTRY}" | ||
| 69 | - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} | ||
| 70 | |||
| 71 | .job-template: | ||
| 72 | variables: | ||
| 73 | test_name: ${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA} | ||
| 74 | rules: | ||
| 75 | - changes: | ||
| 76 | - "**Makefile.in" | ||
| 77 | - .gitlab-ci.yml | ||
| 78 | - aclocal.m4 | ||
| 79 | - autogen.sh | ||
| 80 | - configure.ac | ||
| 81 | - lib/*.{h,c} | ||
| 82 | - lisp/**.el | ||
| 83 | - src/*.{h,c} | ||
| 84 | - test/infra/* | ||
| 85 | - test/lib-src/*.el | ||
| 86 | - test/lisp/**.el | ||
| 87 | - test/misc/*.el | ||
| 88 | - test/src/*.el | ||
| 89 | - changes: | ||
| 90 | # gfilemonitor, kqueue | ||
| 91 | - src/gfilenotify.c | ||
| 92 | - src/kqueue.c | ||
| 93 | # MS Windows | ||
| 94 | - "**w32*" | ||
| 95 | # GNUstep | ||
| 96 | - lisp/term/ns-win.el | ||
| 97 | - src/ns*.{h,m} | ||
| 98 | - src/macfont.{h,m} | ||
| 99 | when: never | ||
| 100 | # These will be cached across builds. | ||
| 101 | cache: | ||
| 102 | key: ${CI_COMMIT_SHA} | ||
| 103 | paths: [] | ||
| 104 | policy: pull-push | ||
| 105 | # These will be saved for followup builds. | ||
| 106 | artifacts: | ||
| 107 | expire_in: 24 hrs | ||
| 108 | paths: [] | ||
| 109 | # Using the variables for each job. | ||
| 110 | script: | ||
| 111 | - docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} | ||
| 112 | # TODO: with make -j4 several of the tests were failing, for | ||
| 113 | # example shadowfile-tests, but passed without it. | ||
| 114 | - 'export PWD=$(pwd)' | ||
| 115 | - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -c "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make ${make_params}"' | ||
| 116 | after_script: | ||
| 117 | # - docker ps -a | ||
| 118 | # - printenv | ||
| 119 | # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - ) | ||
| 120 | - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name} | ||
| 121 | - test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name} | ||
| 122 | # - ls -alR ${test_name} | ||
| 123 | |||
| 124 | .build-template: | ||
| 125 | needs: [] | ||
| 126 | rules: | ||
| 127 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 128 | when: always | ||
| 129 | - changes: | ||
| 130 | - "**Makefile.in" | ||
| 131 | - .gitlab-ci.yml | ||
| 132 | - aclocal.m4 | ||
| 133 | - autogen.sh | ||
| 134 | - configure.ac | ||
| 135 | - lib/*.{h,c} | ||
| 136 | - lisp/emacs-lisp/*.el | ||
| 137 | - src/*.{h,c} | ||
| 138 | - test/infra/* | ||
| 139 | - changes: | ||
| 140 | # gfilemonitor, kqueue | ||
| 141 | - src/gfilenotify.c | ||
| 142 | - src/kqueue.c | ||
| 143 | # MS Windows | ||
| 144 | - "**w32*" | ||
| 145 | # GNUstep | ||
| 146 | - lisp/term/ns-win.el | ||
| 147 | - src/ns*.{h,m} | ||
| 148 | - src/macfont.{h,m} | ||
| 149 | when: never | ||
| 150 | script: | ||
| 151 | - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} -f test/infra/Dockerfile.emba . | ||
| 152 | - docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} | ||
| 153 | |||
| 154 | .test-template: | ||
| 155 | # Do not run fast and normal test jobs when scheduled. | ||
| 156 | rules: | ||
| 157 | - if: '$CI_JOB_STAGE =~ "fast|normal" && $CI_PIPELINE_SOURCE == "schedule"' | ||
| 158 | when: never | ||
| 159 | - when: always | ||
| 160 | artifacts: | ||
| 161 | name: ${test_name} | ||
| 162 | public: true | ||
| 163 | expire_in: 1 week | ||
| 164 | paths: | ||
| 165 | - ${test_name}/**/*.log | ||
| 166 | - ${test_name}/**/core | ||
| 167 | - ${test_name}/core | ||
| 168 | when: always | ||
| 169 | |||
| 170 | .gnustep-template: | ||
| 171 | rules: | ||
| 172 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 173 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 174 | changes: | ||
| 175 | - "**Makefile.in" | ||
| 176 | - .gitlab-ci.yml | ||
| 177 | - configure.ac | ||
| 178 | - src/ns*.{h,m} | ||
| 179 | - src/macfont.{h,m} | ||
| 180 | - lisp/term/ns-win.el | ||
| 181 | - nextstep/** | ||
| 182 | - test/infra/* | ||
| 183 | |||
| 184 | .filenotify-gio-template: | ||
| 185 | rules: | ||
| 186 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 187 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 188 | changes: | ||
| 189 | - "**Makefile.in" | ||
| 190 | - .gitlab-ci.yml | ||
| 191 | - lisp/autorevert.el | ||
| 192 | - lisp/filenotify.el | ||
| 193 | - lisp/net/tramp-sh.el | ||
| 194 | - src/gfilenotify.c | ||
| 195 | - test/infra/* | ||
| 196 | - test/lisp/autorevert-tests.el | ||
| 197 | - test/lisp/filenotify-tests.el | ||
| 198 | |||
| 199 | .native-comp-template: | ||
| 200 | rules: | ||
| 201 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 202 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 203 | changes: | ||
| 204 | - "**Makefile.in" | ||
| 205 | - .gitlab-ci.yml | ||
| 206 | - lisp/emacs-lisp/comp.el | ||
| 207 | - lisp/emacs-lisp/comp-cstr.el | ||
| 208 | - src/comp.{h,m} | ||
| 209 | - test/infra/* | ||
| 210 | - test/src/comp-resources/*.el | ||
| 211 | - test/src/comp-tests.el | ||
| 212 | timeout: 8 hours | ||
| 213 | |||
| 214 | # Local Variables: | ||
| 215 | # add-log-current-defun-header-regexp: "^\\([-_.[:alnum:]]+\\)[ \t]*:" | ||
| 216 | # End: | ||
diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index abc7bddbf73..738e709c6b3 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | # You should have received a copy of the GNU General Public License | 15 | # You should have received a copy of the GNU General Public License |
| 16 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | 16 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. |
| 17 | 17 | ||
| 18 | # GNU Emacs support for the GitLab protocol for CI | 18 | # GNU Emacs support for the GitLab protocol for CI. |
| 19 | 19 | ||
| 20 | # The presence of this file does not imply any FSF/GNU endorsement of | 20 | # The presence of this file does not imply any FSF/GNU endorsement of |
| 21 | # any particular service that uses that protocol. Also, it is intended for | 21 | # any particular service that uses that protocol. Also, it is intended for |
| @@ -24,199 +24,15 @@ | |||
| 24 | # Maintainer: Ted Zlatanov <tzz@lifelogs.com> | 24 | # Maintainer: Ted Zlatanov <tzz@lifelogs.com> |
| 25 | # URL: https://emba.gnu.org/emacs/emacs | 25 | # URL: https://emba.gnu.org/emacs/emacs |
| 26 | 26 | ||
| 27 | # Never run merge request pipelines, they usually duplicate push pipelines | 27 | # Include defaults. |
| 28 | # see https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules | 28 | include: '/test/infra/default-gitlab-ci.yml' |
| 29 | |||
| 30 | # Rules: always run tags and branches named master*, emacs*, feature*, fix* | ||
| 31 | # Test that it triggers by pushing a tag: `git tag mytag; git push origin mytag` | ||
| 32 | # Test that it triggers by pushing to: feature/emba, feature1, master, master-2, fix/emba, emacs-299, fix-2 | ||
| 33 | # Test that it doesn't trigger by pushing to: scratch-2, scratch/emba, oldbranch, dev | ||
| 34 | workflow: | ||
| 35 | rules: | ||
| 36 | - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' | ||
| 37 | when: never | ||
| 38 | - if: '$CI_COMMIT_TAG' | ||
| 39 | when: always | ||
| 40 | - if: '$CI_COMMIT_BRANCH !~ /^(master|emacs|feature|fix)/' | ||
| 41 | when: never | ||
| 42 | - when: always | ||
| 43 | |||
| 44 | variables: | ||
| 45 | GIT_STRATEGY: fetch | ||
| 46 | EMACS_EMBA_CI: 1 | ||
| 47 | # Three hours, see below. | ||
| 48 | EMACS_TEST_TIMEOUT: 10800 | ||
| 49 | EMACS_TEST_VERBOSE: 1 | ||
| 50 | # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled | ||
| 51 | # DOCKER_HOST: tcp://docker:2376 | ||
| 52 | # DOCKER_TLS_CERTDIR: "/certs" | ||
| 53 | # Put the configuration for each run in a separate directory to | ||
| 54 | # avoid conflicts. | ||
| 55 | DOCKER_CONFIG: "/.docker-config-${CI_COMMIT_SHA}" | ||
| 56 | DOCKER_BUILDKIT: 1 | ||
| 57 | # We don't use ${CI_COMMIT_SHA} to be able to do one bootstrap | ||
| 58 | # across multiple builds. | ||
| 59 | BUILD_TAG: ${CI_COMMIT_REF_SLUG} | ||
| 60 | # Disable if you don't need it, it can be a security risk. | ||
| 61 | CI_DEBUG_TRACE: "true" | ||
| 62 | |||
| 63 | default: | ||
| 64 | image: docker:19.03.12 | ||
| 65 | timeout: 3 hours | ||
| 66 | before_script: | ||
| 67 | - docker info | ||
| 68 | - echo "docker registry is ${CI_REGISTRY}" | ||
| 69 | - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} | ||
| 70 | |||
| 71 | .job-template: | ||
| 72 | variables: | ||
| 73 | test_name: ${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA} | ||
| 74 | rules: | ||
| 75 | - changes: | ||
| 76 | - "**Makefile.in" | ||
| 77 | - .gitlab-ci.yml | ||
| 78 | - aclocal.m4 | ||
| 79 | - autogen.sh | ||
| 80 | - configure.ac | ||
| 81 | - lib/*.{h,c} | ||
| 82 | - lisp/**.el | ||
| 83 | - src/*.{h,c} | ||
| 84 | - test/infra/* | ||
| 85 | - test/lib-src/*.el | ||
| 86 | - test/lisp/**.el | ||
| 87 | - test/misc/*.el | ||
| 88 | - test/src/*.el | ||
| 89 | - changes: | ||
| 90 | # gfilemonitor, kqueue | ||
| 91 | - src/gfilenotify.c | ||
| 92 | - src/kqueue.c | ||
| 93 | # MS Windows | ||
| 94 | - "**w32*" | ||
| 95 | # GNUstep | ||
| 96 | - lisp/term/ns-win.el | ||
| 97 | - src/ns*.{h,m} | ||
| 98 | - src/macfont.{h,m} | ||
| 99 | when: never | ||
| 100 | # These will be cached across builds. | ||
| 101 | cache: | ||
| 102 | key: ${CI_COMMIT_SHA} | ||
| 103 | paths: [] | ||
| 104 | policy: pull-push | ||
| 105 | # These will be saved for followup builds. | ||
| 106 | artifacts: | ||
| 107 | expire_in: 24 hrs | ||
| 108 | paths: [] | ||
| 109 | # Using the variables for each job. | ||
| 110 | script: | ||
| 111 | - docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} | ||
| 112 | # TODO: with make -j4 several of the tests were failing, for | ||
| 113 | # example shadowfile-tests, but passed without it. | ||
| 114 | - 'export PWD=$(pwd)' | ||
| 115 | - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -c "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make ${make_params}"' | ||
| 116 | after_script: | ||
| 117 | # - docker ps -a | ||
| 118 | # - printenv | ||
| 119 | # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - ) | ||
| 120 | - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name} | ||
| 121 | - test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name} | ||
| 122 | # - ls -alR ${test_name} | ||
| 123 | |||
| 124 | .build-template: | ||
| 125 | needs: [] | ||
| 126 | rules: | ||
| 127 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 128 | when: always | ||
| 129 | - changes: | ||
| 130 | - "**Makefile.in" | ||
| 131 | - .gitlab-ci.yml | ||
| 132 | - aclocal.m4 | ||
| 133 | - autogen.sh | ||
| 134 | - configure.ac | ||
| 135 | - lib/*.{h,c} | ||
| 136 | - lisp/emacs-lisp/*.el | ||
| 137 | - src/*.{h,c} | ||
| 138 | - test/infra/* | ||
| 139 | - changes: | ||
| 140 | # gfilemonitor, kqueue | ||
| 141 | - src/gfilenotify.c | ||
| 142 | - src/kqueue.c | ||
| 143 | # MS Windows | ||
| 144 | - "**w32*" | ||
| 145 | # GNUstep | ||
| 146 | - lisp/term/ns-win.el | ||
| 147 | - src/ns*.{h,m} | ||
| 148 | - src/macfont.{h,m} | ||
| 149 | when: never | ||
| 150 | script: | ||
| 151 | - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} -f test/infra/Dockerfile.emba . | ||
| 152 | - docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} | ||
| 153 | |||
| 154 | .test-template: | ||
| 155 | # Do not run fast and normal test jobs when scheduled. | ||
| 156 | rules: | ||
| 157 | - if: '$CI_JOB_STAGE =~ "fast|normal" && $CI_PIPELINE_SOURCE == "schedule"' | ||
| 158 | when: never | ||
| 159 | - when: always | ||
| 160 | artifacts: | ||
| 161 | name: ${test_name} | ||
| 162 | public: true | ||
| 163 | expire_in: 1 week | ||
| 164 | paths: | ||
| 165 | - ${test_name}/**/*.log | ||
| 166 | - ${test_name}/**/core | ||
| 167 | - ${test_name}/core | ||
| 168 | when: always | ||
| 169 | |||
| 170 | .gnustep-template: | ||
| 171 | rules: | ||
| 172 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 173 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 174 | changes: | ||
| 175 | - "**Makefile.in" | ||
| 176 | - .gitlab-ci.yml | ||
| 177 | - configure.ac | ||
| 178 | - src/ns*.{h,m} | ||
| 179 | - src/macfont.{h,m} | ||
| 180 | - lisp/term/ns-win.el | ||
| 181 | - nextstep/** | ||
| 182 | - test/infra/* | ||
| 183 | |||
| 184 | .filenotify-gio-template: | ||
| 185 | rules: | ||
| 186 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 187 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 188 | changes: | ||
| 189 | - "**Makefile.in" | ||
| 190 | - .gitlab-ci.yml | ||
| 191 | - lisp/autorevert.el | ||
| 192 | - lisp/filenotify.el | ||
| 193 | - lisp/net/tramp-sh.el | ||
| 194 | - src/gfilenotify.c | ||
| 195 | - test/infra/* | ||
| 196 | - test/lisp/autorevert-tests.el | ||
| 197 | - test/lisp/filenotify-tests.el | ||
| 198 | |||
| 199 | .native-comp-template: | ||
| 200 | rules: | ||
| 201 | - if: '$CI_PIPELINE_SOURCE == "web"' | ||
| 202 | - if: '$CI_PIPELINE_SOURCE == "schedule"' | ||
| 203 | changes: | ||
| 204 | - "**Makefile.in" | ||
| 205 | - .gitlab-ci.yml | ||
| 206 | - lisp/emacs-lisp/comp.el | ||
| 207 | - lisp/emacs-lisp/comp-cstr.el | ||
| 208 | - src/comp.{h,m} | ||
| 209 | - test/infra/* | ||
| 210 | - test/src/comp-resources/*.el | ||
| 211 | - test/src/comp-tests.el | ||
| 212 | timeout: 8 hours | ||
| 213 | 29 | ||
| 214 | stages: | 30 | stages: |
| 215 | - build-images | 31 | - build-images |
| 216 | - generator | 32 | - generator |
| 217 | - trigger | 33 | - trigger |
| 218 | # - fast | 34 | # - fast |
| 219 | - normal | 35 | # - normal |
| 220 | - platform-images | 36 | - platform-images |
| 221 | - platforms | 37 | - platforms |
| 222 | - native-comp-images | 38 | - native-comp-images |
| @@ -239,7 +55,6 @@ build-image-inotify: | |||
| 239 | test-jobs-generator: | 55 | test-jobs-generator: |
| 240 | stage: generator | 56 | stage: generator |
| 241 | script: | 57 | script: |
| 242 | - pwd | ||
| 243 | - test/infra/test-jobs-generator.sh > test-jobs.yml | 58 | - test/infra/test-jobs-generator.sh > test-jobs.yml |
| 244 | artifacts: | 59 | artifacts: |
| 245 | paths: | 60 | paths: |
| @@ -249,6 +64,7 @@ test-jobs-pipeline: | |||
| 249 | stage: trigger | 64 | stage: trigger |
| 250 | trigger: | 65 | trigger: |
| 251 | include: | 66 | include: |
| 67 | - local: '/test/infra/default-gitlab-ci.yml' | ||
| 252 | - artifact: test-jobs.yml | 68 | - artifact: test-jobs.yml |
| 253 | job: test-jobs-generator | 69 | job: test-jobs-generator |
| 254 | strategy: depend | 70 | strategy: depend |
diff --git a/test/infra/test-jobs-generator.sh b/test/infra/test-jobs-generator.sh index 96b61be9662..49f491ea669 100755 --- a/test/infra/test-jobs-generator.sh +++ b/test/infra/test-jobs-generator.sh | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | # GNU Emacs support for the gitlab-ci.yml template generation. | 20 | # GNU Emacs support for the gitlab-ci.yml template generation. |
| 21 | 21 | ||
| 22 | # The presence of this file does not imply any FSF/GNU endorsement of | 22 | # The presence of this file does not imply any FSF/GNU endorsement of |
| 23 | # GitLab or any other particular tool. Also, it is intended for | 23 | # any particular service that uses that protocol. Also, it is intended for |
| 24 | # evaluation purposes, thus possibly temporary. | 24 | # evaluation purposes, thus possibly temporary. |
| 25 | 25 | ||
| 26 | # Maintainer: Michael Albinus <michael.albinus@gmx.de> | 26 | # Maintainer: Michael Albinus <michael.albinus@gmx.de> |
| @@ -53,9 +53,15 @@ for subdir in $SUBDIRS; do | |||
| 53 | esac | 53 | esac |
| 54 | 54 | ||
| 55 | cat <<EOF | 55 | cat <<EOF |
| 56 | stages: | ||
| 57 | - normal | ||
| 58 | |||
| 59 | EOF | ||
| 60 | |||
| 61 | cat <<EOF | ||
| 56 | test${target##check}-inotify: | 62 | test${target##check}-inotify: |
| 57 | stage: normal | 63 | stage: normal |
| 58 | # extends: [.job-template, .test-template] | 64 | extends: [.job-template, .test-template] |
| 59 | rules: | 65 | rules: |
| 60 | - changes: $changes | 66 | - changes: $changes |
| 61 | variables: | 67 | variables: |