]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge remote-tracking branch 'savannah/master' into native-comp
authorAndrea Corallo <akrl@sdf.org>
Sun, 24 Jan 2021 20:05:33 +0000 (21:05 +0100)
committerAndrea Corallo <akrl@sdf.org>
Sun, 24 Jan 2021 20:05:33 +0000 (21:05 +0100)
13 files changed:
1  2 
.gitignore
.gitlab-ci.yml
configure.ac
etc/NEWS
lisp/emacs-lisp/byte-run.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/package.el
lisp/files.el
lisp/gnus/gnus.el
lisp/help-fns.el
lisp/startup.el
src/alloc.c
test/Makefile.in

diff --cc .gitignore
Simple merge
diff --cc .gitlab-ci.yml
index 1be92cff161eed68d7a202003e3293f047d05711,3138f4184e63811dff8a0e4294637362948debfa..acc1649bdab31e9970257329fce6cd354e51daf2
  # 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: test
 +  # 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: test
 +  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: test
 +  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 --cc configure.ac
Simple merge
diff --cc etc/NEWS
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc lisp/files.el
Simple merge
Simple merge
Simple merge
diff --cc lisp/startup.el
Simple merge
diff --cc src/alloc.c
Simple merge
Simple merge