This repository has been archived by the owner on Mar 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 136
95 lines (83 loc) · 2.8 KB
/
downstream.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
name: Downstream checks
on:
issue_comment:
types: [created, edited]
jobs:
dqlite:
if: ${{ github.event.issue.pull_request && contains(github.event.comment.body, 'please test downstream') }}
runs-on: ubuntu-22.04
steps:
- name: Install apt deps
run: |
sudo apt-get update -qq
sudo apt-get install -qq automake libtool gcc make liblz4-dev libuv1-dev libsqlite3-dev
- name: Check out libbacktrace
uses: actions/checkout@v3
with:
repository: ianlancetaylor/libbacktrace
path: libbacktrace
- name: Install libbacktrace
run: |
cd libbacktrace
autoreconf -i
./configure
sudo make -j$(nproc) install
sudo ldconfig
- name: Check out raft
uses: actions/checkout@v3
with:
ref: refs/pull/${{ github.event.issue.number }}/head
path: raft
- name: Install raft
run: |
cd raft
autoreconf -i
./configure --enable-debug --enable-uv --enable-sanitize --enable-backtrace
sudo make -j$(nproc) install
sudo ldconfig
- name: Check out dqlite
uses: actions/checkout@v3
with:
repository: canonical/dqlite
path: dqlite
- name: Test and install dqlite
run: |
cd dqlite
autoreconf -i
./configure --enable-debug --enable-sanitize --enable-backtrace
sudo make -j$(nproc) check || (cat ./test-suite.log && false)
sudo make install
sudo ldconfig
- name: Install Go
uses: actions/setup-go@v4
- name: Check out go-dqlite
uses: actions/checkout@v3
with:
repository: canonical/go-dqlite
path: go-dqlite
- name: Test go-dqlite
env:
GO_DQLITE_MULTITHREAD: '1'
run: |
cd go-dqlite
go get -tags libsqlite3 -t ./...
go test -asan -v ./...
VERBOSE=1 ASAN=-asan ./test/dqlite-demo.sh
VERBOSE=1 ASAN=-asan DISK=1 ./test/dqlite-demo.sh
VERBOSE=1 ASAN=-asan ./test/roles.sh
VERBOSE=1 ASAN=-asan DISK=1 ./test/roles.sh
VERBOSE=1 ASAN=-asan ./test/recover.sh
VERBOSE=1 ASAN=-asan DISK=1 ./test/recover.sh
jepsen:
if: ${{ github.event.issue.pull_request && contains(github.event.comment.body, 'please test downstream') }}
uses: canonical/jepsen.dqlite/.github/workflows/test-build-run.yml@master
with:
raft-ref: refs/pull/${{ github.event.issue.number }}/head
workloads: >
['append', 'bank', 'set']
nemeses: >
['none', 'partition', 'kill', 'stop', 'disk', 'member',
'partition,stop', 'partition,kill', 'partition,member',
'packet,stop', 'pause']
disk: >
['0']