Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Basic CI #149

Closed
wants to merge 5 commits into from
Closed
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
46 changes: 46 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -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
85 changes: 3 additions & 82 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -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
13 changes: 0 additions & 13 deletions Cask

This file was deleted.

23 changes: 23 additions & 0 deletions Eask
Original file line number Diff line number Diff line change
@@ -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
71 changes: 30 additions & 41 deletions Makefile
Original file line number Diff line number Diff line change
@@ -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