Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 36 additions & 32 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,57 @@ on: push
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
emacs_version:
- '24.3'
- '25.1'
- '25.3'
- '26.1'
- '26.2'
os: [ubuntu-latest, macos-latest, windows-latest]
emacs-version:
- '26.3'
- '27.1'
- '27.2'
- '28.2'
- '29.4'
- '30.2'
experimental: [false]
include:
# - emacs_version: 'snapshot'
# os: ubuntu-latest
# allow_failure: true
# - os: macos-latest
# emacs_version: '24.3'
- os: ubuntu-latest
emacs-version: snapshot
experimental: true
- os: macos-latest
emacs-version: snapshot
experimental: true
- os: windows-latest
emacs-version: snapshot
experimental: true
exclude:
- os: macos-latest
emacs_version: '25.1'
emacs-version: 26.3
- os: macos-latest
emacs_version: '27.1'
emacs-version: 27.2
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v6

- name: Set up Emacs
uses: purcell/setup-emacs@master
uses: jcs090218/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}

- name: Set up Cask
uses: conao3/setup-cask@master

- name: Install Lua (Ubuntu)
if: matrix.os != 'macos-latest'
run: sudo apt install lua5.2 && echo 'print(123)' | lua -i

- name: Install Lua (MacOS)
if: matrix.os == 'macos-latest'
uses: xpol/setup-lua@master
version: ${{ matrix.emacs-version }}

- name: Set up Eask
uses: emacs-eask/setup-eask@master
with:
version: 'snapshot'

- uses: ilammy/msvc-dev-cmd@v1

- name: Install Lua
uses: leafo/gh-actions-lua@v12
with:
lua-version: "5.2.4"
luaVersion: "5.2.4"

- name: Run tests
if: matrix.allow_failure != true
run: 'cask && make test'
run: 'make test'

- name: Run tests (allow failure)
if: matrix.allow_failure == true
run: 'cask && make test || true'
run: 'make test || true'
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ release-notes-*
*~
*.elc

/.cask
/.eask
/dist
23 changes: 23 additions & 0 deletions Eask
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
;; -*- mode: eask; lexical-binding: t -*-

(package "lua-mode"
"20221027"
"a major-mode for editing Lua scripts")

(website-url "https://immerrr.github.io/lua-mode")
(keywords "languages" "processes" "tools")

(package-file "lua-mode.el")
(files "lua-mode-*.el")

(script "test" "echo \"Error: no test specified\" && exit 1")

(source 'gnu)
(source 'melpa)

(depends-on "emacs" "26.1")

(development
(depends-on "buttercup"))

(setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432
28 changes: 16 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,38 @@ default:
%.elc: %.el
$(EMACS_BATCH) -f batch-byte-compile $<

compile: $(LUA_MODE_ELC)
compile:
eask compile

dist:
rm -f $(DISTFILE) && \
git archive --format=zip -o $(DISTFILE) --prefix=lua-mode/ HEAD
eask package

.PHONY: test-compiled-nocask test-uncompiled-nocask test-compiled test-uncompiled
.PHONY: test-compiled-noeask test-uncompiled-noeask test-compiled test-uncompiled
# check both regular and compiled versions
test-nocask: test-compiled-nocask test-uncompiled-nocask
test-noeask: test-compiled-noeask test-uncompiled-noeask

test: test-compiled test-uncompiled

test-compiled-nocask: $(LUA_MODE_ELC)
test-compiled-noeask: $(LUA_MODE_ELC)
$(EMACS) -batch -l $(LUA_MODE_ELC) -l buttercup -f buttercup-run-discover

test-uncompiled-nocask:
test-uncompiled-noeask:
$(EMACS) -batch -l lua-mode.el -l buttercup -f buttercup-run-discover

test-compiled: $(LUA_MODE_ELC)
EMACS=$(EMACS) cask exec buttercup -l $(LUA_MODE_ELC)
test-compiled:
eask install-deps --dev
eask compile
eask test buttercup

test-uncompiled:
EMACS=$(EMACS) cask exec buttercup -l lua-mode.el
eask install-deps --dev
eask clean elc
eask test buttercup

tryout:
cask exec $(EMACS) -Q -l init-tryout.el test.lua
eask exec $(EMACS) -Q -l init-tryout.el test.lua

tryout-nocask:
tryout-noeask:
$(EMACS) -Q -l init-tryout.el test.lua

release:
Expand Down
2 changes: 1 addition & 1 deletion lua-mode.el
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
;;
;; URL: https://immerrr.github.io/lua-mode
;; Version: 20221027
;; Package-Requires: ((emacs "24.3"))
;; Package-Requires: ((emacs "26.1"))
;;
;; This file is NOT part of Emacs.
;;
Expand Down
Loading
Loading