diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..eb8b37d --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,27 @@ +name: CI +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + emacs_version: + - 26.3 + - 27.2 + - 28.2 + - 29.1 + - snapshot + steps: + - uses: actions/checkout@v3 + + - uses: purcell/setup-emacs@master + with: + version: ${{ matrix.emacs_version }} + + - uses: emacs-eask/setup-eask@master + with: + version: 'snapshot' + + - name: "Execute Eask CI" + run: make ci diff --git a/Makefile b/Makefile index bbbf2db..8f6e89e 100644 --- a/Makefile +++ b/Makefile @@ -1,88 +1,38 @@ -## -# Eask generated template Makefile -# -# File located in https://github.com/emacs-eask/template-elisp/blob/master/Makefile -## - EMACS ?= emacs EASK ?= eask .PHONY: clean package install compile test checkdoc lint -# CI entry point -# -# You can add or remove any commands here -# -# (Option 1): Basic for beginner, only tests for package's installation -ci: clean package install compile -# (Option 2): Advanced for a high-quality package -#ci: clean package install compile checkdoc lint test +ci: clean package install compile checkdoc lint -# Build an package artefact, default to `dist` folder -# -# This is used to test if your package can be built correctly before the -# package installation. package: @echo "Packaging..." $(EASK) package -# Install package -# -# If your package is a single file package, you generally wouldn't need to install: @echo "Installing..." $(EASK) install -# Byte-compile package -# -# Compile all your package .el files to .elc compile: @echo "Compiling..." $(EASK) compile -# Run regression tests -# -# The default test is `ert`; but Eask also support other regression test! -# See https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-linter test: @echo "Testing..." $(EASK) install-deps --dev $(EASK) test ert ./test/*.el -# Run checkdoc -# -# See https://www.emacswiki.org/emacs/CheckDoc checkdoc: @echo "Checking documentation..." $(EASK) lint checkdoc --strict -# Lint package metadata -# -# See https://github.com/purcell/package-lint lint: @echo "Linting..." + $(EASK) lint declare + $(EASK) lint indent + $(EASK) lint keywords $(EASK) lint package + $(EASK) lint regexps -# Generate autoloads file -# -# NOTE: This is generally unnecessary -autoloads: - @echo "Generating autoloads..." - $(EASK) autoloads - -# Generate -pkg file -# -# NOTE: This is generally unnecessary -pkg-file: - @echo "Generating -pkg file..." - $(EASK) pkg-file - -# Clean up -# -# This will clean all the entire workspace including the following folders -# and files -# -# - .eask folder (sandbox) -# - all .elc files clean: $(EASK) clean all