diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..2885a3b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,46 @@ +name: CI + +on: + pull_request: + paths: + - '**.el' + - '**.yml' + - 'Makefile' + push: + paths: + - '**.el' + - '**.yml' + - 'Makefile' + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + emacs_version: + - 26.3 + - 27.2 + - 28.1 + - snapshot + steps: + - name: Set up Emacs + uses: jcs090218/setup-emacs@master + with: + version: ${{matrix.emacs_version}} + + - uses: actions/setup-node@v2 + with: + node-version: '16' + + - uses: emacs-eask/setup-eask@master + with: + version: 'snapshot' + + - name: Check out the source code + uses: actions/checkout@v2 + + - name: Test the project + run: | + make ci diff --git a/.gitignore b/.gitignore index 199789a..14b2a1a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,82 +1,3 @@ -/.cask/24.3.1/elpa/ansi-20130827.753/ansi-autoloads.el -/.cask/24.3.1/elpa/ansi-20130827.753/ansi-autoloads.el~ -/.cask/24.3.1/elpa/ansi-20130827.753/ansi-pkg.el -/.cask/24.3.1/elpa/ansi-20130827.753/ansi-pkg.elc -/.cask/24.3.1/elpa/ansi-20130827.753/ansi.el -/.cask/24.3.1/elpa/ansi-20130827.753/ansi.elc -/.cask/24.3.1/elpa/archives/melpa/archive-contents -/.cask/24.3.1/elpa/commander-20140120.1052/commander-autoloads.el -/.cask/24.3.1/elpa/commander-20140120.1052/commander-autoloads.el~ -/.cask/24.3.1/elpa/commander-20140120.1052/commander-pkg.el -/.cask/24.3.1/elpa/commander-20140120.1052/commander-pkg.elc -/.cask/24.3.1/elpa/commander-20140120.1052/commander.el -/.cask/24.3.1/elpa/commander-20140120.1052/commander.elc -/.cask/24.3.1/elpa/dash-20140121.427/dash-autoloads.el -/.cask/24.3.1/elpa/dash-20140121.427/dash-autoloads.el~ -/.cask/24.3.1/elpa/dash-20140121.427/dash-pkg.el -/.cask/24.3.1/elpa/dash-20140121.427/dash-pkg.elc -/.cask/24.3.1/elpa/dash-20140121.427/dash.el -/.cask/24.3.1/elpa/dash-20140121.427/dash.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/bin/ecukes -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-autoloads.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-autoloads.el~ -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-byte-compile.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-byte-compile.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-cli.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-core.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-core.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-def.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-def.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-helpers.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-helpers.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-hooks.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-hooks.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-load.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-new.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-parse.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-parse.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-pkg.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-pkg.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-project.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-project.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-reporter.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-run.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-stats.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-steps.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-template.el -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes-template.elc -/.cask/24.3.1/elpa/ecukes-20140114.435/ecukes.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-dot.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-gangsta.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-landing.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-magnars.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-progress.el -/.cask/24.3.1/elpa/ecukes-20140114.435/reporters/ecukes-reporter-spec.el -/.cask/24.3.1/elpa/ecukes-20140114.435/templates/env.tpl -/.cask/24.3.1/elpa/ecukes-20140114.435/templates/feature.tpl -/.cask/24.3.1/elpa/ecukes-20140114.435/templates/missing-step.tpl -/.cask/24.3.1/elpa/ecukes-20140114.435/templates/step-definition.tpl -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds-autoloads.el -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds-autoloads.el~ -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds-pkg.el -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds-pkg.elc -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds.el -/.cask/24.3.1/elpa/espuds-20131026.1121/espuds.elc -/.cask/24.3.1/elpa/f-20131225.721/f-autoloads.el -/.cask/24.3.1/elpa/f-20131225.721/f-autoloads.el~ -/.cask/24.3.1/elpa/f-20131225.721/f-pkg.el -/.cask/24.3.1/elpa/f-20131225.721/f-pkg.elc -/.cask/24.3.1/elpa/f-20131225.721/f.el -/.cask/24.3.1/elpa/f-20131225.721/f.elc -/.cask/24.3.1/elpa/noflet-20130901.922/noflet-autoloads.el -/.cask/24.3.1/elpa/noflet-20130901.922/noflet-autoloads.el~ -/.cask/24.3.1/elpa/noflet-20130901.922/noflet-pkg.el -/.cask/24.3.1/elpa/noflet-20130901.922/noflet-pkg.elc -/.cask/24.3.1/elpa/noflet-20130901.922/noflet.el -/.cask/24.3.1/elpa/noflet-20130901.922/noflet.elc -/.cask/24.3.1/elpa/s-20131223.944/s-autoloads.el -/.cask/24.3.1/elpa/s-20131223.944/s-autoloads.el~ -/.cask/24.3.1/elpa/s-20131223.944/s-pkg.el -/.cask/24.3.1/elpa/s-20131223.944/s-pkg.elc -/.cask/24.3.1/elpa/s-20131223.944/s.el -/.cask/24.3.1/elpa/s-20131223.944/s.elc +# packaging +.eask +/dist diff --git a/Cask b/Cask deleted file mode 100644 index 9f9b71a..0000000 --- a/Cask +++ /dev/null @@ -1,13 +0,0 @@ -(source melpa) - -(package "google-translate" "0.8.2" - "Emacs interface to Google Translate.") - -(development - (depends-on "f") - (depends-on "s") - (depends-on "dash") - (depends-on "el-mock") - (depends-on "ert-runner") - (depends-on "ecukes") - (depends-on "espuds")) diff --git a/Eask b/Eask new file mode 100644 index 0000000..44b65a2 --- /dev/null +++ b/Eask @@ -0,0 +1,23 @@ +(package "google-translate" + "0.12.0" + "Emacs interface to Google Translate") + +(package-file "google-translate.el") + +(files "google-translate-*.el") + +(source "melpa") + +(depends-on "emacs" "24.3") +(depends-on "popup") + +(development + (depends-on "f") + (depends-on "s") + (depends-on "dash") + (depends-on "el-mock") + (depends-on "ert-runner") + (depends-on "ecukes") + (depends-on "espuds")) + +(setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432 diff --git a/Makefile b/Makefile index 3a00f59..413bdd2 100644 --- a/Makefile +++ b/Makefile @@ -1,54 +1,43 @@ .PHONY : all test unit-test ecukes EMACS ?= emacs -SRC = $(filter-out %-pkg.el, $(wildcard *.el reporters/*.el)) -ELC = $(SRC:.el=.elc) -CASK ?= cask -PKG_DIR := $(shell $(CASK) package-directory) +EASK ?= eask FEATURES = $(wildcard features/*.feature) -VERSION = 0.12.0 -TARGET_DIR = google-translate-$(VERSION) -all: test marmalade tag +all: test tag + +ci: clean package install compile test test: + $(EASK) install-deps --dev $(MAKE) unit-test $(MAKE) ecukes unit-test: - $(CASK) exec ert-runner - -$(PKG_DIR): - Cask - $(CASK) install - touch $@ + $(EASK) ert ./test/*.el ecukes: - $(CASK) exec ecukes --reporter magnars --script $(FEATURES) --no-win - -marmalade: marmalade-tar marmalade-upload marmalade-rm - -marmalade-tar: - mkdir $(TARGET_DIR) - cp google-translate-core-ui.el $(TARGET_DIR) - cp google-translate-core.el $(TARGET_DIR) - cp google-translate-default-ui.el $(TARGET_DIR) - cp google-translate-query-auto-complete.el $(TARGET_DIR) - cp google-translate-smooth-ui.el $(TARGET_DIR) - cp google-translate.el $(TARGET_DIR) - cp README.md $(TARGET_DIR) - cp google-translate-pkg.el $(TARGET_DIR) - tar -cf google-translate-$(VERSION).tar $(TARGET_DIR) - -marmalade-upload: - marmalade-upload -u atykhonov google-translate-$(VERSION).tar || true - -marmalade-rm: - rm google-translate-$(VERSION).tar - rm -rf $(TARGET_DIR) - -version: - @echo $(VERSION) - -tag: - git tag v$(VERSION) && git push origin --tags + $(EASK) exec ecukes --reporter magnars --script $(FEATURES) --no-win + +package: + @echo "Packaging..." + $(EASK) package + +install: + @echo "Installing..." + $(EASK) install + +compile: + @echo "Compiling..." + $(EASK) compile + +checkdoc: + @echo "Run checkdoc..." + $(EASK) checkdoc + +lint: + @echo "Run package-lint..." + $(EASK) lint + +clean: + $(EASK) clean-all