]> git.eshelyaron.com Git - emacs.git/commitdiff
Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml'
authorAndrea Corallo <akrl@sdf.org>
Wed, 7 Apr 2021 12:09:44 +0000 (14:09 +0200)
committerAndrea Corallo <akrl@sdf.org>
Wed, 7 Apr 2021 12:14:07 +0000 (14:14 +0200)
* .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
test/infra/gitlab-ci.yml

index cf2cf3e3599fb0773ae93871ba6559c399d293d8..3138f4184e63811dff8a0e4294637362948debfa 100644 (file)
 # Maintainer: Ted Zlatanov <tzz@lifelogs.com>
 # 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'
index 6355513cc9f101ad56af5b22bbe30ae43c60097b..b740f43402d18d8bc8cabccddf6e0a9d2720ba43 100644 (file)
@@ -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