Skip to content

Commit 6151313

Browse files
authored
fix(workflow): Update workflows (#154)
* fix(workflow): Update workflows * Add more docs * Make sure align * fix whitespace * docs(README.md): Update instructions * update
1 parent 50bad0f commit 6151313

File tree

8 files changed

+275
-56
lines changed

8 files changed

+275
-56
lines changed

docs/content/en/Continuous Integration/CircleCI.md

Lines changed: 116 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,138 @@ weight: 400
55

66
{{< toc >}}
77

8+
[![Windows](https://img.shields.io/badge/-Windows-lightblue?logo=windows&style=flat&logoColor=blue)](#)
9+
[![macOS](https://img.shields.io/badge/-macOS-lightgrey?logo=apple&style=flat&logoColor=white)](#)
10+
[![Linux](https://img.shields.io/badge/-Linux-fcc624?logo=linux&style=flat&logoColor=black)](#)
11+
812
Example to use [Circle CI](https://circleci.com/).
913

1014
```yml
15+
version: 2.1
16+
17+
orbs:
18+
win: circleci/[email protected]
19+
1120
# Default actions to perform on each Emacs version
12-
default: &default-steps
13-
steps:
14-
- checkout
15-
- run: apt-get update && apt-get install -y git
16-
- run: |
17-
eask package
18-
eask install
19-
eask compile
20-
21-
# Enumerated list of Emacs versions
21+
commands:
22+
setup-linux:
23+
steps:
24+
- checkout
25+
- run:
26+
name: Install unzip
27+
command: apt-get update && apt-get install unzip
28+
- run:
29+
name: Install Eask
30+
command: curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh
31+
32+
setup-macos:
33+
steps:
34+
- checkout
35+
- run:
36+
name: Install Emacs latest
37+
command: |
38+
echo "HOMEBREW_NO_AUTO_UPDATE=1" >> $BASH_ENV
39+
brew install homebrew/cask/emacs
40+
- run:
41+
name: Install unzip
42+
command: apt-get update && apt-get install unzip
43+
- run:
44+
name: Install Eask
45+
command: curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh
46+
47+
setup-windows:
48+
steps:
49+
- checkout
50+
- run:
51+
name: Install Eask
52+
command: url.exe -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.bat | cmd /Q
53+
54+
test:
55+
steps:
56+
- run:
57+
name: Run regression tests
58+
command: eldev -dtT -p test
59+
lint:
60+
steps:
61+
- run:
62+
name: Run Elisp-lint
63+
command: eldev lint
64+
- run:
65+
name: Byte-compile `.el' files
66+
command: eldev -dtT compile --warnings-as-errors
67+
2268
jobs:
23-
test-emacs-26:
69+
test-ubuntu-emacs-26:
70+
docker:
71+
- image: silex/emacs:26-ci
72+
entrypoint: bash
73+
steps:
74+
- setup-linux
75+
- test
76+
77+
test-ubuntu-emacs-27:
78+
docker:
79+
- image: silex/emacs:27-ci
80+
entrypoint: bash
81+
steps:
82+
- setup-linux
83+
- test
84+
85+
test-ubuntu-emacs-28:
2486
docker:
25-
- image: silex/emacs:26.2
87+
- image: silex/emacs:28-ci
2688
entrypoint: bash
27-
<<: *default-steps
89+
steps:
90+
- setup-linux
91+
- test
2892

29-
test-emacs-master:
93+
test-ubuntu-emacs-master:
3094
docker:
31-
- image: silex/emacs:master
95+
- image: silex/emacs:master-ci
3296
entrypoint: bash
33-
<<: *default-steps
97+
steps:
98+
- setup-linux
99+
- test
100+
101+
test-macos-emacs-latest:
102+
macos:
103+
xcode: "14.0.0"
104+
steps:
105+
- setup-macos
106+
- test
107+
108+
test-windows-emacs-latest:
109+
executor: win/default
110+
steps:
111+
- run:
112+
name: Install Emacs latest
113+
command: |
114+
choco install emacs
115+
- setup-windows
116+
- test
34117

35-
# Executing in parallel
36118
workflows:
37119
version: 2
38120
ci-test-matrix:
39121
jobs:
40-
- test-emacs-26
41-
- test-emacs-master
122+
- test-ubuntu-emacs-26
123+
- test-ubuntu-emacs-27
124+
- test-ubuntu-emacs-28
125+
- test-ubuntu-emacs-master
126+
- test-macos-emacs-latest
127+
- test-windows-emacs-latest
42128
```
43129
44130
This example is testing your Emacs Lisp package in the below environment;
45131
46-
* Emacs: `26.2` and `snapshot`
47-
* Eask: `snapshot` (latest)
132+
| OS | Emacs | Eask |
133+
|----------------|------------------------------------|--------|
134+
| Linux (Ubuntu) | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
135+
| macOS | `snapshot` | latest |
136+
| Windows | `snapshot` | latest |
137+
138+
{{< hint info >}}
139+
💡 You can generate workflow file via `eask generate workflow circle-ci`, see
140+
[Commands and options](https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-eask-generate-workflow-circle-ci)
141+
for more information!
142+
{{< /hint >}}

docs/content/en/Continuous Integration/GitHub Actions.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ weight: 100
55

66
{{< toc >}}
77

8+
[![Windows](https://img.shields.io/badge/-Windows-lightblue?logo=windows&style=flat&logoColor=blue)](#)
9+
[![macOS](https://img.shields.io/badge/-macOS-lightgrey?logo=apple&style=flat&logoColor=white)](#)
10+
[![Linux](https://img.shields.io/badge/-Linux-fcc624?logo=linux&style=flat&logoColor=black)](#)
11+
812
Here is an example using the [GitHub](https://github.com/) Actions service.
913

1014
```yml
@@ -14,7 +18,7 @@ jobs:
1418
strategy:
1519
matrix:
1620
os: [ubuntu-latest, macos-latest, windows-latest]
17-
emacs-version: [26.3, 27.2, 28.1, snapshot]
21+
emacs-version: [26.3, 27.2, 28.2, snapshot]
1822

1923
steps:
2024
- uses: actions/checkout@v2
@@ -38,14 +42,23 @@ jobs:
3842
3943
This example is testing your Emacs Lisp package in the below environment;
4044
41-
* Emacs: `27.2` and `snapshot`
42-
* Eask: `snapshot` (latest)
45+
| OS | Emacs | Eask |
46+
|----------------|------------------------------------|--------|
47+
| Linux (Ubuntu) | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
48+
| macOS | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
49+
| Windows | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
4350

4451
with these following `actions`,
4552

4653
* [setup-emacs](https://github.com/jcs090218/setup-emacs) to install Emacs
4754
* [setup-eask](https://github.com/emacs-eask/setup-eask) to install desired Eask version
4855

56+
{{< hint info >}}
57+
💡 You can generate workflow file via `eask generate workflow github`, see
58+
[Commands and options](https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-eask-generate-workflow-github)
59+
for more information!
60+
{{< /hint >}}
61+
4962
## 💾 Setup Eask locally
5063

5164
You can install Eask locally using scripts from `.github/scripts/setup-eask` (Unix)

docs/content/en/Continuous Integration/GitLab Runner.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,53 @@ weight: 200
55

66
{{< toc >}}
77

8+
[![Linux](https://img.shields.io/badge/-Linux-fcc624?logo=linux&style=flat&logoColor=black)](#)
9+
810
Example to use [GitLab](https://gitlab.com/) runner.
911

1012
```yml
1113
default:
12-
image: node:16
13-
14-
pages:
15-
stage: test
1614
before_script:
17-
- npm install @emacs-eask/cli -g
18-
- apt-get update
19-
- apt-get install emacs -y
15+
- apt-get update
16+
- apt-get install unzip
17+
- curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh
18+
- export PATH="$HOME/.local/bin:$PATH"
19+
20+
test-26.3:
21+
image: silex/emacs:26.3-ci
22+
script:
23+
- eask clean all
24+
- eask package
25+
- eask install
26+
- eask compile
27+
28+
test-27.2:
29+
image: silex/emacs:27.2-ci
30+
script:
31+
- eask clean all
32+
- eask package
33+
- eask install
34+
- eask compile
35+
36+
test-28.2:
37+
image: silex/emacs:28.2-ci
2038
script:
21-
- eask package
22-
- eask install
23-
- eask compile
24-
only:
25-
- main
39+
- eask clean all
40+
- eask package
41+
- eask install
42+
- eask compile
2643
```
2744
2845
This example is testing your Emacs Lisp package in the below environment;
2946
30-
* Emacs: `snapshot`
31-
* Eask: `snapshot` (latest)
47+
| OS | Emacs | Eask |
48+
|----------------|------------------------------------|--------|
49+
| Linux (Debian) | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
50+
| macOS | n/a | latest |
51+
| Windows | n/a | latest |
52+
53+
{{< hint info >}}
54+
💡 You can generate workflow file via `eask generate workflow gitlab`, see
55+
[Commands and options](https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-eask-generate-workflow-gitlab)
56+
for more information!
57+
{{< /hint >}}

docs/content/en/Continuous Integration/Travis CI.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,32 @@ weight: 300
55

66
{{< toc >}}
77

8+
[![Linux](https://img.shields.io/badge/-Linux-fcc624?logo=linux&style=flat&logoColor=black)](#)
9+
810
Example to use [Travis CI](https://www.travis-ci.com/).
911

1012
```yml
11-
language: node_js
12-
node_js:
13-
- 16
13+
language: nix
14+
15+
os:
16+
- linux
17+
- osx
1418

1519
env:
16-
- EVM_EMACS=emacs-27.2-travis-linux-xenial
17-
- EVM_EMACS=emacs-git-snapshot-travis-linux-xenial
20+
- EMACS_CI=emacs-26-3
21+
- EMACS_CI=emacs-27-2
22+
- EMACS_CI=emacs-28-2
23+
- EMACS_CI=emacs-snapshot
1824

1925
matrix:
2026
fast_finish: true
2127
allow_failures:
22-
- env: EVM_EMACS=emacs-git-snapshot-travis-linux-xenial
28+
- env: EMACS_CI=emacs-snapshot
2329

2430
install:
25-
- npm install @emacs-eask/cli -g
31+
- bash <(curl https://raw.githubusercontent.com/purcell/nix-emacs-ci/master/travis-install)
32+
- curl -fsSL https://raw.githubusercontent.com/emacs-eask/cli/master/webinstall/install.sh | sh
33+
- export PATH="$HOME/.local/bin:$PATH"
2634

2735
script:
2836
- eask package
@@ -32,5 +40,15 @@ script:
3240
3341
This example is testing your Emacs Lisp package in the below environment;
3442
35-
* Emacs: `27.2` and `snapshot`
36-
* Eask: `snapshot` (latest)
43+
| OS | Emacs | Eask |
44+
|----------------|------------------------------------|--------|
45+
| Linux (Ubuntu) | `26.x`, `27.x`, `28.x`, `snapshot` | latest |
46+
| macOS | n/a | latest |
47+
| Windows | n/a | latest |
48+
49+
50+
{{< hint info >}}
51+
💡 You can generate workflow file via `eask generate workflow travis-ci`, see
52+
[Commands and options](https://emacs-eask.github.io/Getting-Started/Commands-and-options/#-eask-generate-workflow-travis-ci)
53+
for more information!
54+
{{< /hint >}}

docs/content/en/Getting Started/Directory Structure.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ a directory with the following structure:
1010

1111
```
1212
.
13-
├── .github/workflows/test.yml
1413
├── .gitignore
1514
├── Makefile
1615
├── Eask
@@ -22,12 +21,6 @@ a directory with the following structure:
2221

2322
The following is a high-level overview of each of the files.
2423

25-
`.github/workflows/test.yml`
26-
27-
GitHub actions workflow file that is read by GitHub Actions. This file has
28-
setups the basic environment for you to test your elisp project. Like, such
29-
as installing Emacs, setup Eask, etc.
30-
3124
`.gitignore`
3225

3326
Gitignore file, to ignore files you don't like to include from your repository.
@@ -52,5 +45,5 @@ from your repository.
5245
`{package-file}.el`
5346

5447
This is the main package file; where you should write your elisp code.
55-
If you attempt to create a multiple-file packages; you would need to
48+
If you attempt to create a multiple-file package; you would need to
5649
edit the `Eask`-file accordingly.

docs/content/en/Getting Started/Quick Start.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Using Eask as your Emacs package management tool.
99

1010
{{< hint info >}}
1111
The installation are cross-platform, using [npm](https://www.npmjs.com/).
12-
For instruction about how to install Eask with other methods, see [install](https://emacs-eask.github.io/Getting-Started/Install-Eask/).
12+
For instructions about how to install Eask with other methods, see [install](https://emacs-eask.github.io/Getting-Started/Install-Eask/).
1313

1414
It is required to have [Git installed](https://git-scm.com/downloads)
1515
to run this tutorial.

0 commit comments

Comments
 (0)