summaryrefslogtreecommitdiff
path: root/.github/workflows/test.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/test.yml')
-rw-r--r--.github/workflows/test.yml82
1 files changed, 82 insertions, 0 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000..c4fcdee
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,82 @@
+name: CI
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+jobs:
+ test-ubuntu:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ emacs-version:
+ - '26.3'
+ - '27.2'
+ - '28.2'
+ - '29.4'
+ - 'snapshot'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Emacs
+ uses: purcell/setup-emacs@master
+ with:
+ version: ${{ matrix.emacs-version }}
+
+ - name: Install Cask
+ uses: conao3/setup-cask@master
+ with:
+ version: 'snapshot'
+
+ - name: Install server build dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y make automake autoconf gcc g++ \
+ libpng-dev libpoppler-glib-dev libpoppler-private-dev \
+ libz-dev pkg-config
+
+ - name: Compile epdfinfo server
+ run: make autobuild
+
+ - name: Install Elisp dependencies
+ run: cask install
+
+ - name: Run tests
+ run: make test
+
+ test-macos:
+ runs-on: macos-latest
+ env:
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Emacs
+ uses: purcell/setup-emacs@master
+ with:
+ version: '29.4'
+
+ - name: Install Cask
+ uses: conao3/setup-cask@master
+ with:
+ version: 'snapshot'
+
+ - name: Install server build dependencies
+ run: |
+ brew install automake autoconf poppler pkg-config gnu-sed
+ echo "$(brew --prefix gnu-sed)/libexec/gnubin" >> $GITHUB_PATH
+
+ - name: Compile epdfinfo server
+ run: make autobuild
+
+ - name: Install Elisp dependencies
+ run: cask install
+
+ - name: Run tests
+ run: make test