blob: b87d1406af72c7d18e5512e1b3b00ee80ce7d770 (
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
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
build-windows:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: >-
git
base-devel
autoconf
automake
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-libpng
mingw-w64-x86_64-poppler
mingw-w64-x86_64-imagemagick
mingw-w64-x86_64-zlib
mingw-w64-x86_64-openssl
mingw-w64-x86_64-emacs
- name: Install Cask
run: git clone https://github.com/cask/cask ~/.cask
- name: Compile epdfinfo server
run: |
export PATH="$HOME/.cask/bin:$PATH"
make autobuild
- name: Package Windows binaries
run: |
mkdir -p pack
cp server/epdfinfo.exe pack/
ldd server/epdfinfo.exe | grep mingw | cut -d' ' -f3 | xargs -I {} cp {} pack/
cp /mingw64/bin/libcrypto*.dll pack/ || true
cp /mingw64/bin/libssl*.dll pack/ || true
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: epdfinfo-mingw64
path: pack/
|