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
|
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@v6
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 dqlite
uses: actions/checkout@v6
with:
ref: refs/pull/${{ github.event.issue.number }}/merge
path: dqlite
- name: Install dqlite
run: |
cd dqlite
autoreconf -i
./configure --enable-debug --enable-sanitize --enable-backtrace --enable-build-raft
sudo make -j$(nproc)
sudo make install
sudo ldconfig
- name: Install Go
uses: actions/setup-go@v6
- name: Check out go-dqlite
uses: actions/checkout@v6
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 ./test/roles.sh
VERBOSE=1 ASAN=-asan ./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:
dqlite-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']
|