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

Reply via email to