forked from cyrusimap/cyrus-imapd
-
Notifications
You must be signed in to change notification settings - Fork 0
64 lines (63 loc) · 2.77 KB
/
main.yml
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
name: Cyrus IMAP CI
on:
push:
pull_request:
branches:
- master
- main
- cyrus-imapd-3.8
- cyrus-imapd-3.6
- cyrus-imapd-3.4
- cyrus-imapd-3.2
- cyrus-imapd-3.0
jobs:
build:
runs-on: ubuntu-latest
container:
image: cyrusimapdocker/cyrus-buster:latest
options: --sysctl net.ipv6.conf.all.disable_ipv6=0 --init
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: configure and build
shell: bash
run: |
git config --global --add safe.directory /__w/cyrus-imapd/cyrus-imapd
echo "building cyrus version" $(./tools/git-version.sh)
./tools/build-with-cyruslibs.sh
- name: report cyrus version
shell: bash
run: /usr/cyrus/libexec/master -V
- name: update jmap test suite
working-directory: /srv/JMAP-TestSuite.git
shell: bash
run: |
git fetch
git checkout origin/master
git clean -f -x -d
cpanm --installdeps .
- name: install missing deps
shell: bash
run: |
cpanm IO::File::fcntl
cpanm Digest::CRC
- name: set up cassandane
working-directory: cassandane
shell: bash
run: |
cp -af cassandane.ini.dockertests cassandane.ini
chown cyrus:mail cassandane.ini
make -j4
- name: run cassandane quietly
id: cass1
continue-on-error: true
working-directory: cassandane
run: setpriv --reuid=cyrus --regid=mail --clear-groups --inh-caps='-chown,-dac_override,-dac_read_search,-fowner,-fsetid,-kill,-setgid,-setuid,-setpcap,-linux_immutable,-net_bind_service,-net_broadcast,-net_admin,-net_raw,-ipc_lock,-ipc_owner,-sys_module,-sys_rawio,-sys_chroot,-sys_ptrace,-sys_pacct,-sys_admin,-sys_boot,-sys_nice,-sys_resource,-sys_time,-sys_tty_config,-mknod,-lease,-audit_write,-audit_control,-setfcap,-mac_override,-mac_admin,-syslog,-wake_alarm,-block_suspend,-audit_read,-cap_38,-cap_39,-cap_40' ./testrunner.pl --slow -f prettier -j 4 !Test::Core
- name: rerun cassandane failures noisily
if: ${{ steps.cass1.outcome == 'failure' }}
working-directory: cassandane
run: setpriv --reuid=cyrus --regid=mail --clear-groups --inh-caps='-chown,-dac_override,-dac_read_search,-fowner,-fsetid,-kill,-setgid,-setuid,-setpcap,-linux_immutable,-net_bind_service,-net_broadcast,-net_admin,-net_raw,-ipc_lock,-ipc_owner,-sys_module,-sys_rawio,-sys_chroot,-sys_ptrace,-sys_pacct,-sys_admin,-sys_boot,-sys_nice,-sys_resource,-sys_time,-sys_tty_config,-mknod,-lease,-audit_write,-audit_control,-setfcap,-mac_override,-mac_admin,-syslog,-wake_alarm,-block_suspend,-audit_read,-cap_38,-cap_39,-cap_40' ./testrunner.pl -f pretty -j 4 --rerun
- name: collect logs
if: always()
run: cat /tmp/cass/*/conf/log/syslog