-
Notifications
You must be signed in to change notification settings - Fork 6
74 lines (67 loc) · 2.61 KB
/
ci.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
65
66
67
68
69
70
71
72
73
74
name: Ci
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
strategy:
matrix:
go-version: ["1.15"]
env:
- {
SPAMD_NETWORK: tcp4,
SPAMD_ADDRESS: "localhost:784",
SPAMD_USER: "debian-spamd",
SPAMD_USE_TLS: 1,
}
- {
SPAMD_NETWORK: tcp4,
SPAMD_ADDRESS: "127.0.0.1:783",
SPAMD_USER: "debian-spamd",
}
- {
SPAMD_NETWORK: unix,
SPAMD_ADDRESS: "/var/run/spamd.sock",
SPAMD_USER: "debian-spamd",
}
name: Tests
runs-on: ubuntu-latest
steps:
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Get dependencies
run: |
go get -v -t -d ./...
sudo apt-get update -qq
sudo apt-get install spamassassin libio-socket-ssl-perl net-tools || /bin/true
sudo usermod --shell /bin/bash debian-spamd
sudo mkdir -p /var/lib/spamassassin/db
sudo chown debian-spamd:debian-spamd /var/lib/spamassassin/db
sudo apt-get install -f
echo 'ENABLED=1' | sudo tee -a /etc/default/spamassassin
echo 'bayes_path /var/lib/spamassassin/db/bayes' | sudo tee -a /etc/spamassassin/local.cf
echo 'OPTIONS="-4 --server-cert=/etc/pki/spamd/certs/localhost.pem --server-key=/etc/pki/spamd/private/localhost.key --helper-home-dir=/var/lib/spamassassin --listen=ssl:localhost:784 --listen=127.0.0.1:783 --socketpath=/var/run/spamd.sock --socketmode=0777 -d -l -m15"' | sudo tee -a /etc/default/spamassassin
sudo mkdir -p /etc/pki/spamd/{certs,private,ca}
sudo cp -va ./examples/data/ca-chain.cert.pem /etc/pki/spamd/ca/ca.pem
sudo cp -va ./examples/data/localhost.key.pem /etc/pki/spamd/private/localhost.key
sudo cp -va ./examples/data/localhost.pem /etc/pki/spamd/certs/localhost.pem
sudo -u debian-spamd sa-learn -D --restore ./examples/data/bayes-db.txt
sudo service spamassassin start
- name: Build
run: go build -v ./...
- name: Test
env: ${{ matrix.env }}
run: |
sudo netstat -ntlp
go test -race -coverprofile=coverage.txt -covermode=atomic ./...
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: ./coverage.txt
fail_ci_if_error: false