summaryrefslogtreecommitdiff
path: root/.circleci/config.yml
blob: 33e26191decf8793566d81cdd09da001799da58a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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