Skip to content

Commit 8a80c6e

Browse files
committed
ci: setup CI builds with Eask
1 parent 1d5cd5e commit 8a80c6e

File tree

4 files changed

+114
-21
lines changed

4 files changed

+114
-21
lines changed

.github/workflows/test.yml

Lines changed: 70 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,92 @@
1-
name: CI
2-
on: [push]
1+
name: test
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
env:
15+
UNDERCOVER_CONFIG: "(\"smartparens.el\" \"smartparens-*.el\" (:report-format lcov) (:send-report nil))"
316

417
jobs:
5-
build:
6-
runs-on: ubuntu-latest
18+
test:
19+
runs-on: ${{ matrix.os }}
720
strategy:
21+
fail-fast: false
822
matrix:
9-
emacs_version:
23+
os:
24+
- ubuntu-latest
25+
- macos-latest
26+
- windows-latest
27+
emacs-version:
1028
- '25.1'
1129
- '25.2'
1230
- '25.3'
1331
- '26.1'
1432
- '26.2'
1533
- '26.3'
34+
- '27.1'
35+
- '27.2'
36+
- '28.1'
37+
- '28.2'
1638
- 'snapshot'
1739
include:
18-
- emacs_version: 'snapshot'
40+
- emacs-version: 'snapshot'
1941
allow_failure: true
2042
steps:
21-
- uses: actions/checkout@v1
22-
- uses: purcell/setup-emacs@master
43+
- uses: jcs090218/setup-emacs@master
44+
with:
45+
version: ${{ matrix.emacs-version }}
46+
47+
# Remove expired DST Root CA X3 certificate. Workaround for
48+
# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51038 bug on Emacs 27.2.
49+
# https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-1126671598
50+
- name: Workaround for Emacs 27.2's Windows build from GNU FTP
51+
if: ${{ runner.os == 'Windows' && matrix.emacs-version == '27.2' }}
52+
run: |
53+
gci cert:\LocalMachine\Root\DAC9024F54D8F6DF94935FB1732638CA6AD77C13
54+
gci cert:\LocalMachine\Root\DAC9024F54D8F6DF94935FB1732638CA6AD77C13 | Remove-Item
55+
56+
- uses: emacs-eask/setup-eask@master
2357
with:
24-
version: ${{ matrix.emacs_version }}
25-
- uses: actions/[email protected]
26-
- uses: conao3/setup-cask@master
58+
version: 'snapshot'
59+
60+
- uses: actions/checkout@v3
2761

2862
- name: Install dependencies
29-
run: 'cask install'
63+
run: 'eask install-deps --dev'
3064

31-
- name: Run tests
32-
if: matrix.allow_failure != true
65+
- name: Run ERT tests
3366
run: |
34-
cask exec ert-runner --reporter ert+duration
67+
eask exec ert-runner --reporter ert+duration
3568
cask exec emacs --eval "(setq byte-compile-error-on-warn t)" -L . --batch -f batch-byte-compile smartparens.el smartparens-*[^pkg].el
3669
37-
- name: Run tests (allow failure)
38-
if: matrix.allow_failure == true
70+
- name: Coveralls
71+
uses: coverallsapp/github-action@master
72+
with:
73+
github-token: ${{ secrets.GITHUB_TOKEN }}
74+
flag-name: emacs-${{ matrix.emacs-version }}
75+
parallel: true
76+
77+
- name: Test installation and compilation
3978
run: |
40-
cask exec ert-runner --reporter ert+duration || true
41-
cask exec emacs --eval "(setq byte-compile-error-on-warn t)" -L . --batch -f batch-byte-compile smartparens.el smartparens-*[^pkg].el || true
79+
eask clean all
80+
eask package
81+
eask install
82+
eask compile
83+
84+
finish:
85+
needs: test
86+
runs-on: ubuntu-latest
87+
steps:
88+
- name: Coveralls Finished
89+
uses: coverallsapp/github-action@master
90+
with:
91+
github-token: ${{ secrets.GITHUB_TOKEN }}
92+
parallel-finished: true

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ elpa
33
*~*
44
docs/_build
55
.dir-locals-2.el
6+
/.eask
7+
/.elsa

Eask

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
(package "smartparens" "1.11.0"
2+
"Automatic insertion, wrapping and paredit-like navigation with user defined pairs.")
3+
4+
(website-url "https://github.com/Fuco1/smartparens")
5+
(keywords "abbrev" "convenience" "editing")
6+
7+
(package-file "smartparens.el")
8+
9+
(files "smartparens.el" "smartparens-*.el")
10+
11+
(script "test" "echo \"Error: no test specified\" && exit 1")
12+
13+
(source "gnu")
14+
(source "melpa")
15+
16+
(depends-on "cl-lib" "0.3")
17+
(depends-on "dash" "2.13.0")
18+
19+
(development
20+
(depends-on "elsa")
21+
(depends-on "f")
22+
(depends-on "ert-runner")
23+
(depends-on "undercover")
24+
(depends-on "shut-up")
25+
(depends-on "racket-mode")
26+
(depends-on "scala-mode")
27+
(depends-on "rust-mode")
28+
(depends-on "swift-mode")
29+
(depends-on "auctex")
30+
(depends-on "clojure-mode")
31+
(depends-on "lua-mode")
32+
(depends-on "js2-mode")
33+
(depends-on "ess")
34+
(depends-on "tuareg")
35+
(depends-on "elixir-mode")
36+
(depends-on "haskell-mode")
37+
(depends-on "markdown-mode")
38+
(depends-on "hungry-delete")
39+
(depends-on "evil")
40+
(depends-on "crystal-mode")
41+
(depends-on "go-mode"))

test/test-helper.el

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212

1313
;;; Code:
1414

15-
;; (when (require 'undercover nil t)
16-
;; (undercover "smartparens*.el"))
15+
(when (require 'undercover nil t) (undercover))
1716

1817
(require 'ert)
1918
(require 'dash)

0 commit comments

Comments
 (0)