mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-21 06:55:39 +00:00
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.
This commit is contained in:
parent
c35a515a2f
commit
db2a226fc4
170
.gitlab-ci.yml
170
.gitlab-ci.yml
@ -24,175 +24,5 @@
|
||||
# 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'
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user