branch: elpa/aidermacs
commit b7917bd1783fb90c37f1367744e3f782ee9b81d2
Author: Mingde (Matthew) Zeng <matthew...@posteo.net>
Commit: Mingde (Matthew) Zeng <matthew...@posteo.net>

    Test new emacs-compat CI
    
    Signed-off-by: Mingde (Matthew) Zeng <matthew...@posteo.net>
---
 .github/workflows/emacs-compat.yml | 23 +++++++++++++++++++++++
 Makefile                           | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)

diff --git a/.github/workflows/emacs-compat.yml 
b/.github/workflows/emacs-compat.yml
new file mode 100644
index 0000000000..be2b4a51fc
--- /dev/null
+++ b/.github/workflows/emacs-compat.yml
@@ -0,0 +1,23 @@
+name: CI
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        emacs_version: [28.1, 29.1, 30.1, release-snapshot, snapshot]
+    steps:
+    - uses: purcell/setup-emacs@master
+      with:
+        version: ${{ matrix.emacs_version }}
+
+    - uses: actions/checkout@v2
+
+    - name: Print emacs version
+      run: emacs --version
+
+    - name: Run tests
+      run: make test
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000..a4f7793d27
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,33 @@
+# Makefile for testing aidermacs across Emacs versions
+
+EMACS ?= emacs
+BATCH = $(EMACS) -Q -batch
+
+.PHONY: test compile clean
+
+# Main test target
+test: compile lint-checkdoc
+
+# Compile all .el files to check for byte-compilation errors
+compile:
+       @echo "Compiling Elisp files..."
+       $(BATCH) -L . --eval "(setq byte-compile-error-on-warn t)" \
+               -f batch-byte-compile *.el
+
+# Run checkdoc to verify documentation standards
+lint-checkdoc:
+       @echo "Running checkdoc..."
+       $(BATCH) --eval "(require 'checkdoc)" \
+               --eval "(setq checkdoc-arguments-in-order-flag nil)" \
+               --eval "(setq checkdoc-verb-check-experimental-flag nil)" \
+               --eval "(setq sentence-end-double-space nil)" \
+               --eval "(checkdoc-file \"aidermacs.el\")" \
+               --eval "(checkdoc-file \"aidermacs-backends.el\")" \
+               --eval "(checkdoc-file \"aidermacs-backend-comint.el\")" \
+               --eval "(checkdoc-file \"aidermacs-backend-vterm.el\")" \
+               --eval "(checkdoc-file \"aidermacs-models.el\")"
+
+# Clean compiled files
+clean:
+       @echo "Cleaning compiled files..."
+       rm -f *.elc

Reply via email to