diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..637969a3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,55 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + test: + name: mix test (Emacs ${{matrix.emacs_version}} | Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) + runs-on: ubuntu-latest + strategy: + matrix: + emacs_version: + # Add more lines like this if you want to test on different Emacs versions. + - 27.1 + - 26.3 + - 26.1 + - 25.2 + - 25.1 + include: + - elixir: 1.8.x + otp: 21.3.8.18 + - elixir: 1.9.x + otp: 21.3.8.18 + - elixir: 1.10.x + otp: 21.3.8.18 + - elixir: 1.11.x + otp: 21.3.8.18 + - elixir: 1.11.x + otp: 23.1.4 + env: + MIX_ENV: test + ERT_RUNNER_ARGS: + + steps: + - name: Set up Emacs + uses: purcell/setup-emacs@master + with: + version: ${{matrix.emacs_version}} + + - name: Install Eldev + run: curl -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev | sh + + - name: Check out the source code + uses: actions/checkout@v2 + + - name: Test the project + run: | + eldev prepare + eldev -p -dtT test diff --git a/.gitignore b/.gitignore index 8b647d60..184d485f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ /.cask/ /dist/ *-emacs-elixir-format.ex + +# Added automatically by `eldev init'. +/.eldev +/Eldev-local diff --git a/Eldev b/Eldev new file mode 100644 index 00000000..bdeb0a00 --- /dev/null +++ b/Eldev @@ -0,0 +1,6 @@ +; -*- mode: emacs-lisp; lexical-binding: t; no-byte-compile: t -*- + +;; Autodetermined by `eldev init'. +(eldev-use-package-archive 'melpa) + +(eldev-use-plugin 'autoloads) diff --git a/elixir-mode.el b/elixir-mode.el index 66a101ac..66eba09d 100644 --- a/elixir-mode.el +++ b/elixir-mode.el @@ -11,7 +11,7 @@ ;; Created: Mon Nov 7 2011 ;; Keywords: languages elixir ;; Version: 2.4.0 -;; Package-Requires: ((emacs "24") (pkg-info "0.4")) +;; Package-Requires: ((emacs "24") (pkg-info "0.4") (s "1.2.0")) ;; This file is not a part of GNU Emacs. diff --git a/test/elixir-mode-indentation-test.el b/test/elixir-mode-indentation-test.el index 05d1751a..d0089f7f 100644 --- a/test/elixir-mode-indentation-test.el +++ b/test/elixir-mode-indentation-test.el @@ -9,6 +9,8 @@ ;;; Code: +(require 'test/test-helper) + (elixir-def-indentation-test indent-use-dot-module-newline (:tags '(indentation)) " diff --git a/test/test-helper.el b/test/test-helper.el index d108e721..36ef5480 100644 --- a/test/test-helper.el +++ b/test/test-helper.el @@ -7,6 +7,7 @@ (require 'ert-x) ; `ert-with-test-buffer' (require 'cl-lib) ; `cl-defmacro' +(require 's) (message "Running tests on Emacs %s" emacs-version)