summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml110
-rw-r--r--server/test/docker/templates/ubuntu-22.Dockerfile.in2
2 files changed, 87 insertions, 25 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 48cb5b6..636546d 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,47 +1,109 @@
version: 2.1
-# Default actions to perform on each Emacs version
-default: &default-steps
- steps:
- - checkout
- - run: apt-get update && apt-get install -y gcc make automake autoconf libpng-dev libz-dev libpoppler-glib-dev
- - run: cask upgrade-cask || true
- - run: emacs --version
- - run: cask --version
- - run: cask install
- - run: make test
-
-# Enumerated list of Emacs versions
+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-emacs-26:
+ test-on-emacs-26:
docker:
- image: silex/emacs:26-ci-cask
entrypoint: bash
- <<: *default-steps
+ steps:
+ - install-ubuntu-prereqs
+ - install-pdf-tools-server
- test-emacs-27:
+ test-on-emacs-27:
docker:
- image: silex/emacs:27-ci-cask
entrypoint: bash
- <<: *default-steps
+ steps:
+ - install-ubuntu-prereqs
+ - install-pdf-tools-server
- test-emacs-28:
+ test-on-emacs-28:
docker:
- image: silex/emacs:28-ci-cask
entrypoint: bash
- <<: *default-steps
+ steps:
+ - install-ubuntu-prereqs
+ - install-pdf-tools-server
- test-emacs-master:
+ test-on-emacs-master:
docker:
- image: silex/emacs:master-ci-cask
entrypoint: bash
- <<: *default-steps
+ steps:
+ - install-ubuntu-prereqs
+ - install-pdf-tools-server
+
+ test-on-macos:
+ macos:
+ xcode: "14.1.0"
+ resource_class: medium
+ 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)"/opt/gnu-sed/libexec/gnubin:"$PATH"' >> "$BASH_ENV"
+ - install-pdf-tools-server
workflows:
version: 2
ci-test-matrix:
jobs:
- - test-emacs-26
- - test-emacs-27
- - test-emacs-28
- - test-emacs-master
+ - test-on-emacs-26
+ - test-on-emacs-27
+ - test-on-emacs-28
+ - test-on-emacs-master
+ - test-on-macos
diff --git a/server/test/docker/templates/ubuntu-22.Dockerfile.in b/server/test/docker/templates/ubuntu-22.Dockerfile.in
index 217daed..2ac7127 100644
--- a/server/test/docker/templates/ubuntu-22.Dockerfile.in
+++ b/server/test/docker/templates/ubuntu-22.Dockerfile.in
@@ -2,4 +2,4 @@
FROM ubuntu:jammy
ARG DEBIAN_FRONTEND=noninteractive
# Need to install make, tzdata here to avoid stupid prompts when running package install via autobuild
-RUN apt-get update -y && apt-get install -y make tzdata
+RUN apt-get update --fix-missing -y && apt-get install -y make tzdata