ci: Use Eask to test macos and windows

This commit is contained in:
JenChieh 2024-04-08 17:10:48 -07:00 committed by Youmu
parent ca977acb83
commit c64b058fbe
5 changed files with 79 additions and 50 deletions

View File

@ -7,34 +7,47 @@ on:
branches:
- master
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
emacs_version:
os: [ubuntu-latest, macos-latest, windows-latest]
emacs-version:
- 26.3
- 27.2
- 28.2
- 29.2
- snapshot
- 29.3
experimental: [false]
include:
- os: ubuntu-latest
emacs-version: snapshot
experimental: true
- os: macos-latest
emacs-version: snapshot
experimental: true
steps:
- uses: purcell/setup-emacs@master
- uses: jcs090218/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}
version: ${{ matrix.emacs-version }}
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Print emacs version
run: |
emacs --version
- uses: cask/setup-cask@master
- uses: emacs-eask/setup-eask@master
with:
version: snapshot
- run: cask install
- run: make install
- run: make compile

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
/.cask
/.eask
/dist
*.elc

40
Eask Normal file
View File

@ -0,0 +1,40 @@
(package "evil-collection"
"0.0.2"
"A set of keybindings for Evil mode")
(website-url "https://github.com/emacs-evil/evil-collection")
(keywords "evil" "tools")
(package-file "evil-collection.el")
(script "test" "echo \"Error: no test specified\" && exit 1")
(source 'gnu)
(source 'melpa)
(depends-on "emacs" "26.3")
(depends-on "evil")
(depends-on "annalist")
(development
(depends-on "f")
(depends-on "ert-runner")
(depends-on "package-lint")
(depends-on "magit"))
(setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432
(add-hook 'eask-before-compile-hook
(lambda (&rest _)
(setq evil-want-integration nil)
(setq evil-want-keybinding nil)
(setq byte-compile-docstring-max-column 200)
(setq byte-compile-error-on-warn t)))
(add-hook 'eask-before-lint/package-hook
(lambda (&rest _)
(advice-add 'package-lint--check-eval-after-load :around 'ignore)
(advice-add 'package-lint--check-version-regexp-list :around 'ignore)
(advice-add 'package-lint--check-symbol-separators :around 'ignore)
(advice-add 'package-lint--check-defs-prefix :around 'ignore)
(advice-add 'package-lint--check-provide-form :around 'ignore)))

View File

@ -1,50 +1,23 @@
EMACS ?= emacs
CASK ?= cask
LOADPATH = -L .
TESTPATH = -L ./test
ELPA_DIR = \
.cask/$(shell $(EMACS) -Q --batch --eval '(princ emacs-version)')/elpa
EASK ?= eask
compile:
$(CASK) exec $(EMACS) -Q -batch \
-L . \
--eval "(setq evil-want-integration nil)" \
--eval "(setq evil-want-keybinding nil)" \
--eval "(setq byte-compile-docstring-max-column 200)" \
--eval "(setq byte-compile-error-on-warn t)" \
-f batch-byte-compile *.el modes/*/*.el
$(EASK) compile
install:
$(EASK) install-deps --dev
$(EASK) package
$(EASK) install
lint:
$(CASK) exec $(EMACS) -Q -batch \
--eval "(require 'package)" \
--eval "(push '(\"melpa\" . \"http://melpa.org/packages/\") package-archives)" \
--eval "(package-initialize)" \
--eval "(package-refresh-contents)" \
-l package-lint.el \
--eval "(advice-add 'package-lint--check-eval-after-load :around 'ignore)" \
--eval "(advice-add 'package-lint--check-version-regexp-list :around 'ignore)" \
--eval "(advice-add 'package-lint--check-symbol-separators :around 'ignore)" \
--eval "(advice-add 'package-lint--check-defs-prefix :around 'ignore)" \
--eval "(advice-add 'package-lint--check-provide-form :around 'ignore)" \
-f package-lint-batch-and-exit *.el modes/*/*.el
$(EASK) lint package
test: elpa
$(CASK) exec $(EMACS) -Q -batch $(LOADPATH) $(TESTPATH) \
-l evil-collection-test.el -l evil-collection-magit-tests.el -f ert-run-tests-batch-and-exit
test: install
$(EASK) test ert ./test/evil-collection-test.el
magit-test: elpa
$(CASK) exec $(EMACS) -Q -batch $(LOADPATH) $(TESTPATH) \
-l evil-collection-magit-tests.el -f ert-run-tests-batch-and-exit
magit-test: install
$(EASK) test ert ./test/evil-collection-magit-tests.el
elpa: $(ELPA_DIR)
$(ELPA_DIR): Cask
$(CASK) install
mkdir -p $(ELPA_DIR)
touch $@
.PHONY: compile lint test elpa
.PHONY: compile lint test
# Local Variables:
# tab-width: 8

View File

@ -684,7 +684,8 @@ NAME specifies the name of the entry added to HOOK. If APPEND is
non-nil, the entry is appended to the hook. If LOCAL is non-nil,
the buffer-local value of HOOK is modified.
This is a backport of `evil-delay' without the deprecation notice to deal with CI until migration can be done.
This is a backport of `evil-delay' without the deprecation notice to deal with
CI until migration can be done.
Ref: https://github.com/emacs-evil/evil-collection/issues/750"
(eval `(evil-with-delay ,condition (,hook ,append ,local ,name) ,form) t))