branch: elpa/pdf-tools
commit 42a9450fa275a3e3afd118153e46c37160a77c6a
Author: Vedang Manerikar <[email protected]>
Commit: Vedang Manerikar <[email protected]>
feat: move from circleci to github actions for testing pdf-tools
---
.circleci/config.yml | 109 ---------------------------------------------
.github/workflows/test.yml | 82 ++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 109 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 33e26191dec..00000000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,109 +0,0 @@
-version: 2.1
-
-orbs:
- macos: circleci/macos@2
-
-commands:
- install-ubuntu-prereqs:
- steps:
- - run:
- name: Install base prereqs needed for running make commands
- command: |
- apt-get update --fix-missing -y && apt-get install -y make tzdata
- install-pdf-tools-server:
- steps:
- - checkout
- - run:
- name: Install pdf-tools Server Pre-reqs and Compile epdfinfo
- command: |
- make autobuild
- - run:
- name: Upgrade Cask to the latest version
- command: |
- cask upgrade-cask || true
- - run:
- name: Confirm that Emacs is installed and on Path
- command: |
- emacs --version
- - run:
- name: Confirm that Cask is installed and on Path
- command: |
- cask --version
- - run:
- name: Install pdf-tools elisp pre-reqs
- command: |
- cask install
- - run:
- name: Run pdf-tools elisp tests
- command: |
- make test
-
-# Test various Emacs versions on Ubuntu
-jobs:
- test-on-emacs-26:
- docker:
- - image: silex/emacs:26-ci-cask
- entrypoint: bash
- steps:
- - install-ubuntu-prereqs
- - install-pdf-tools-server
-
- test-on-emacs-27:
- docker:
- - image: silex/emacs:27-ci-cask
- entrypoint: bash
- steps:
- - install-ubuntu-prereqs
- - install-pdf-tools-server
-
- test-on-emacs-28:
- docker:
- - image: silex/emacs:28-ci-cask
- entrypoint: bash
- steps:
- - install-ubuntu-prereqs
- - install-pdf-tools-server
-
- test-on-emacs-master:
- docker:
- - image: silex/emacs:master-ci-cask
- entrypoint: bash
- steps:
- - install-ubuntu-prereqs
- - install-pdf-tools-server
-
- test-on-macos:
- macos:
- xcode: "14.1.0"
- resource_class: macos.x86.medium.gen2
- environment:
- HOMEBREW_NO_AUTO_UPDATE: 1
- HOMEBREW_NO_INSTALL_CLEANUP: 1
- steps:
- - run:
- name: Install Emacs on MacOS
- command: |
- brew install --cask emacs
- - run:
- name: Install Cask on MacOS
- command: |
- git clone https://github.com/cask/cask ~/.cask
- - run:
- name: Install Brew prereqs
- command: |
- brew install gnu-sed
- - run:
- name: Add Cask and Gnu-SED to the Path
- command: |
- echo 'export PATH="$HOME"/.cask/bin:"$(brew --prefix
gnu-sed)"/libexec/gnubin:"$PATH"' >> "$BASH_ENV"
- - install-pdf-tools-server
-
-workflows:
- version: 2
- ci-test-matrix:
- jobs:
- - test-on-emacs-26
- - test-on-emacs-27
- - test-on-emacs-28
- - test-on-emacs-master
- - test-on-macos
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 00000000000..c4fcdeec8a7
--- /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