diff options
-rw-r--r-- | .gitlab-ci.yml | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..2d02be9 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,65 @@ +image: ubuntu:trusty + +stages: + - build + - test + +variables: + EMACS_VERSION: "25.1" + CURL: "curl -fsSkL --retry 9 --retry-delay 9" + GHRAW: "https://raw.githubusercontent.com" + +before_script: + - apt-get update -qq && apt-get install -y -qq curl make libxml2 + +cache: + paths: + - git-annex-standalone-amd64.tar.gz + - emacs.tar.gz + policy: pull + +download_dependencies: + stage: build + script: + - $CURL -O https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz + - $CURL -o emacs.tar.gz https://github.com/npostavs/emacs-travis/releases/download/bins/emacs-bin-${EMACS_VERSION}.tar.gz + artifacts: + expire_in: 1 day + paths: + - git-annex-standalone-amd64.tar.gz + - emacs.tar.gz + +.setup_dependencies: &setup_dependencies | + tar -xaf git-annex-standalone-amd64.tar.gz + tar -xaf emacs.tar.gz -C / + export PATH="$PWD/git-annex.linux${PATH:+:}$PATH" + export EMACS=/tmp/emacs/bin/emacs + git config --global user.name "A U Thor" + git config --global user.email a.u.thor@example.com + +.install_magit: &install_magit | + git clone --quiet https://github.com/magit/magit.git + cd magit + $CURL -O ${GHRAW}/magnars/dash.el/master/dash.el + $CURL -O ${GHRAW}/magit/ghub/master/ghub.el + $CURL -O ${GHRAW}/magit/magit-popup/master/magit-popup.el + $CURL -O ${GHRAW}/magit/with-editor/master/with-editor.el + $EMACS -Q --batch -L . -f batch-byte-compile dash.el ghub.el magit-popup.el with-editor.el + make lisp EMACSBIN=$EMACS DASH_DIR=$PWD + cd .. + $EMACS --batch -L magit -L magit/lisp --eval "(progn (require 'magit) (magit-version t))" + +test:no-magit: + stage: test + script: + - *setup_dependencies + - make EMACSBIN=$EMACS + - make test EMACSBIN=$EMACS + +test:magit: + stage: test + script: + - *setup_dependencies + - *install_magit + - make EMACSBIN=$EMACS LOAD_PATH="-L magit -L magit/lisp" + - make test EMACSBIN=$EMACS LOAD_PATH="-L magit -L magit/lisp" |