From 75ffccdc916281f36f8815d7287eab94e59c7419 Mon Sep 17 00:00:00 2001 From: Carlo Sciolla Date: Sun, 18 Mar 2018 19:17:38 +0100 Subject: [PATCH] Support CircleCI And by the way, use coveralls.io --- .circleci/config.yml | 57 ++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 1 + Cask | 3 ++- Makefile | 27 +++++++++++++-------- README.md | 2 +- test/test-helper.el | 4 ++++ 6 files changed, 82 insertions(+), 12 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..7e757b4 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,57 @@ +version: 2.0 + +# Default actions to perform on each Emacs version +default: &default-steps + steps: + - checkout + - run: make + +# Enumerated list of Emacs versions +jobs: + test-emacs-24: + docker: + - image: silex/emacs:24 + entrypoint: bash + <<: *default-steps + + test-emacs-25: + docker: + - image: silex/emacs:25 + entrypoint: bash + <<: *default-steps + + test-emacs-26: + docker: + - image: silex/emacs:26.0 + entrypoint: bash + <<: *default-steps + + test-emacs-master: + docker: + - image: silex/emacs:master + entrypoint: bash + <<: *default-steps + + coverage: + docker: + - image: silex/emacs:25 + entrypoint: bash + steps: + - checkout + - run: make clean submit-coverage + +# Executing in parallel +workflows: + version: 2 + ci-test-matrix: + jobs: + - test-emacs-24 + - test-emacs-25 + - test-emacs-26 + - test-emacs-master + - coverage: + requires: + - test-emacs-24 + - test-emacs-25 + - test-emacs-26 + - test-emacs-master diff --git a/.gitignore b/.gitignore index d4691b7..e1e05ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .cask +.coveralls.yml diff --git a/Cask b/Cask index 70a9d8e..0dcdfd0 100644 --- a/Cask +++ b/Cask @@ -7,4 +7,5 @@ (depends-on "f") (depends-on "ecukes") (depends-on "ert-runner") - (depends-on "el-mock")) + (depends-on "el-mock") + (depends-on "undercover")) diff --git a/Makefile b/Makefile index e03d2a2..669a9d9 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,25 @@ -CASK ?= cask -EMACS ?= emacs -CASK_DIR ?= `${CASK} package-directory` +# +# Programs used in the make goals +# +export CASK ?= cask +export EMACS ?= emacs -all: test +# +# General configuration +# +export CASK_DIR ?= `${CASK} package-directory` +export BATCH = --batch -q -l .emacs/init.el -test: unit ecukes +all: version test + +version: + $(EMACS) $(BATCH) --version + +test: install unit ecukes unit: ${CASK} exec ert-runner -# TODO: add BDD style tests -#ecukes: -# ${CASK} exec ecukes - install: ${CASK} install @@ -20,4 +27,4 @@ clean: rm -Rf .emacs.d rm -Rf .cask -.PHONY: all test unit ecukes install +.PHONY: all test unit install clean diff --git a/README.md b/README.md index ee5d9f0..71acbc5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![MELPA](http://melpa.org/packages/plantuml-mode-badge.svg)](http://melpa.org/#/plantuml-mode) [![MELPA Stable](http://stable.melpa.org/packages/plantuml-mode-badge.svg)](http://stable.melpa.org/#/plantuml-mode) [![Build Status](https://travis-ci.org/skuro/plantuml-mode.svg?branch=master)](https://travis-ci.org/skuro/plantuml-mode) +[![MELPA](http://melpa.org/packages/plantuml-mode-badge.svg)](http://melpa.org/#/plantuml-mode) [![MELPA Stable](http://stable.melpa.org/packages/plantuml-mode-badge.svg)](http://stable.melpa.org/#/plantuml-mode) [![Build Status](https://travis-ci.org/skuro/plantuml-mode.svg?branch=master)](https://travis-ci.org/skuro/plantuml-mode) [![Coverage Status](https://coveralls.io/repos/github/skuro/plantuml-mode/badge.svg?branch=master)](https://coveralls.io/github/skuro/plantuml-mode?branch=master) # PlantUML mode for Emacs diff --git a/test/test-helper.el b/test/test-helper.el index 9fba3f7..b57aa05 100644 --- a/test/test-helper.el +++ b/test/test-helper.el @@ -35,6 +35,10 @@ (defun load-plantuml-mode () (require 'plantuml-mode (f-expand "plantuml-mode.el" package-code-path))) +;; enable code coverage +(when (require 'undercover nil t) + (undercover "plantuml-mode.el")) + (load-plantuml-mode) ;;; test-helper.el ends here