From db2a226fc4ec6cfb28663774aee66793eb6f6224 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 7 Apr 2021 14:09:44 +0200 Subject: [PATCH] Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml' * .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge. * test/infra/gitlab-ci.yml (test-native-bootstrap-speed0) (test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move from .gitlab-ci.yml. --- .gitlab-ci.yml | 170 --------------------------------------- test/infra/gitlab-ci.yml | 32 ++++++++ 2 files changed, 32 insertions(+), 170 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cf2cf3e3599..3138f4184e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,175 +24,5 @@ # Maintainer: Ted Zlatanov # URL: https://emba.gnu.org/emacs/emacs -# Never run merge request pipelines, they usually duplicate push pipelines -# see https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules -workflow: - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - when: never - - when: always - -variables: - GIT_STRATEGY: fetch - EMACS_EMBA_CI: 1 - -default: - image: docker:19.03.12 - timeout: 3 hours - before_script: - - docker info - -.job-template: - # these will be cached across builds - cache: - key: ${CI_COMMIT_REF_SLUG} - paths: [] - policy: pull-push - # these will be saved for followup builds - artifacts: - expire_in: 24 hrs - paths: [] - # - "test/**/*.log" - # - "**/*.log" - -.test-template: - rules: - - changes: - - "**/Makefile.in" - - .gitlab-ci.yml - - aclocal.m4 - - autogen.sh - - configure.ac - - lib/*.{h,c} - - lisp/**/*.el - - src/*.{h,c} - - test/infra/* - - test/lisp/**/*.el - - test/src/*.el - - 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 - - # using the variables for each job - script: - - docker build --target ${target} -t ${target}:${CI_COMMIT_REF_SLUG} -t ${target}:${CI_COMMIT_SHA} -f test/infra/Dockerfile.emba . - # 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} ${target}:${CI_COMMIT_SHA} make ${make_params} - -stages: - - fast - - normal - - slow - -test-fast: - stage: fast - extends: [.job-template, .test-template] - variables: - target: emacs-inotify - make_params: "-C test check" - -test-lisp: - stage: normal - extends: [.job-template, .test-template] - variables: - target: emacs-inotify - make_params: "-C test check-lisp" - -test-net: - stage: normal - extends: [.job-template, .test-template] - variables: - target: emacs-inotify - make_params: "-C test check-net" - -test-filenotify-gio: - # This tests file monitor libraries gfilemonitor and gio. - stage: normal - extends: [.job-template, .test-template] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule"' - changes: - - "**/Makefile.in" - - .gitlab-ci.yml - - lisp/autorevert.el - - lisp/filenotify.el - - lisp/net/tramp-sh.el - - src/gfilenotify.c - - test/infra/* - - test/lisp/autorevert-tests.el - - test/lisp/filenotify-tests.el - variables: - target: emacs-filenotify-gio - make_params: "-k -C test autorevert-tests filenotify-tests" - -test-native-bootstrap-speed0: - # Test a full native bootstrap - # Run for now only speed 0 to limit memory usage and compilation time. - stage: slow - # Uncomment the following to run it only when sceduled. - # only: - # - schedules - script: - - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev - - ./autogen.sh autoconf - - ./configure --without-makeinfo --with-nativecomp - - make bootstrap NATIVE_FULL_AOT=1 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"' -j2 - timeout: 8 hours - -test-native-bootstrap-speed1: - stage: slow - script: - - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev - - ./autogen.sh autoconf - - ./configure --without-makeinfo --with-nativecomp - - make bootstrap BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 1)"' - timeout: 8 hours - -test-native-bootstrap-speed2: - stage: slow - script: - - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev - - ./autogen.sh autoconf - - ./configure --without-makeinfo --with-nativecomp - - make bootstrap - timeout: 8 hours - -test-gnustep: - # This tests the GNUstep build process - stage: normal - extends: [.job-template, .test-template] - rules: - - if: '$CI_PIPELINE_SOURCE == "schedule"' - changes: - - "**/Makefile.in" - - .gitlab-ci.yml - - configure.ac - - src/ns*.{h,m} - - src/macfont.{h,m} - - lisp/term/ns-win.el - - nextstep/**/* - - test/infra/* - variables: - target: emacs-gnustep - make_params: install - -test-all: - # This tests also file monitor libraries inotify and inotifywatch. - stage: slow - extends: [.job-template, .test-template] - rules: - # note there's no "changes" section, so this always runs on a schedule - - if: '$CI_PIPELINE_SOURCE == "schedule"' - variables: - target: emacs-inotify - make_params: check-expensive # Just load from test/infra, to keep build automation files there. include: '/test/infra/gitlab-ci.yml' diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index 6355513cc9f..b740f43402d 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -243,6 +243,38 @@ test-filenotify-gio: target: emacs-filenotify-gio make_params: "-k -C test autorevert-tests.log filenotify-tests.log" +test-native-bootstrap-speed0: + # Test a full native bootstrap + # Run for now only speed 0 to limit memory usage and compilation time. + stage: slow + # Uncomment the following to run it only when sceduled. + # only: + # - schedules + script: + - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev + - ./autogen.sh autoconf + - ./configure --without-makeinfo --with-nativecomp + - make bootstrap NATIVE_FULL_AOT=1 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"' -j2 + timeout: 8 hours + +test-native-bootstrap-speed1: + stage: slow + script: + - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev + - ./autogen.sh autoconf + - ./configure --without-makeinfo --with-nativecomp + - make bootstrap BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 1)"' + timeout: 8 hours + +test-native-bootstrap-speed2: + stage: slow + script: + - DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 libgccjit-6-dev + - ./autogen.sh autoconf + - ./configure --without-makeinfo --with-nativecomp + - make bootstrap + timeout: 8 hours + test-gnustep: # This tests the GNUstep build process stage: platforms -- 2.39.5