-
Notifications
You must be signed in to change notification settings - Fork 36
133 lines (120 loc) · 3.69 KB
/
build.yml
File metadata and controls
133 lines (120 loc) · 3.69 KB
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
132
133
name: Build and Test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build-linux-openssl:
runs-on: ubuntu-latest
steps:
- name: Checkout libcups
uses: actions/checkout@v6
with:
submodules: recursive
- name: Update Build Environment
run: sudo apt-get update --fix-missing -y
- name: Install Prerequisites
run: sudo apt-get install -y avahi-daemon libavahi-client-dev libpam-dev libpng-dev libssl-dev libusb-1.0-0-dev zlib1g-dev
- name: Start Avahi
run: sudo systemctl start avahi-daemon
- name: Configure libcups
env:
CC: /usr/bin/gcc
run: ./configure --enable-debug --enable-maintainer --with-tls=openssl --with-sanitizer=address || (cat config.log; pkg-config --list-all; exit 1)
- name: Make libcups
run: make
- name: Test libcups
env:
ASAN_OPTIONS: leak_check_at_exit=false
CUPS_DEBUG_LOG: test-debug.log
CUPS_DEBUG_LEVEL: 4
run: make test
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: ubuntu-openssl-test-results
path: |
cups/test*.log
tools/test*.log
build-linux-gnutls:
runs-on: ubuntu-latest
steps:
- name: Checkout libcups
uses: actions/checkout@v6
with:
submodules: recursive
- name: Update Build Environment
run: sudo apt-get update --fix-missing -y
- name: Install Prerequisites
run: sudo apt-get install -y avahi-daemon libavahi-client-dev libgnutls28-dev libpam-dev libpng-dev libusb-1.0-0-dev zlib1g-dev
- name: Start Avahi
run: sudo systemctl start avahi-daemon
- name: Configure libcups
env:
CC: /usr/bin/gcc
run: ./configure --enable-debug --enable-maintainer --with-tls=gnutls --with-sanitizer=address || (cat config.log; pkg-config --list-all; exit 1)
- name: Make libcups
run: make
- name: Test libcups
env:
ASAN_OPTIONS: leak_check_at_exit=false
CUPS_DEBUG_LOG: test-debug.log
CUPS_DEBUG_LEVEL: 4
run: make test
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: ubuntu-gnutls-test-results
path: |
cups/test*.log
tools/test*.log
build-macos:
runs-on: macos-latest
steps:
- name: Checkout libcups
uses: actions/checkout@v6
with:
submodules: recursive
- name: Configure libcups
run: ./configure --enable-debug --enable-maintainer --with-sanitizer=address || (cat config.log; pkg-config --list-all; exit 1)
- name: Make libcups
run: make
- name: Test libcups
env:
CUPS_DEBUG_LOG: test-debug.log
CUPS_DEBUG_LEVEL: 4
run: make test
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: macos-test-results
path: |
cups/test*.log
tools/test*.log
build-windows:
runs-on: windows-latest
steps:
- name: Checkout libcups
uses: actions/checkout@v6
with:
submodules: recursive
- name: Setup msbuild
uses: microsoft/setup-msbuild@v2.0.0
- name: Install Prerequisites
run: cd vcnet; nuget restore libcups.sln; cd ../pdfio; nuget restore
- name: Build libcups
run: cd vcnet; msbuild libcups.sln
- name: Test libcups
run: cd vcnet; ./run-tests.ps1 x64\Debug
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: windows-test-results
path: |
vcnet/x64/Debug/test*.log