Skip to content

Commit a0118a9

Browse files
committed
add CI with ASAN
- add ruby-asan CI test - skip some failed test
1 parent a766408 commit a0118a9

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Ubuntu
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types:
9+
- opened
10+
- synchronize
11+
- reopened
12+
13+
jobs:
14+
test:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
ruby: ['asan']
19+
duckdb: ['1.1.3', '1.1.1', '1.2.0']
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- name: Set up Ruby
25+
uses: ruby/setup-ruby@v1
26+
with:
27+
ruby-version: ${{ matrix.ruby }}
28+
29+
- name: duckdb cache
30+
id: duckdb-cache
31+
uses: actions/cache@v4
32+
with:
33+
path: duckdb-v${{ matrix.duckdb }}
34+
key: ${{ runner.os }}-duckdb-v${{ matrix.duckdb }}
35+
36+
- name: Build duckdb ${{ matrix.duckdb }}
37+
env:
38+
DUCKDB_VERSION: ${{ matrix.duckdb }}
39+
if: steps.duckdb-cache.outputs.cache-hit != 'true'
40+
run: |
41+
git clone -b v$DUCKDB_VERSION https://github.com/cwida/duckdb.git duckdb-tmp-v$DUCKDB_VERSION
42+
cd duckdb-tmp-v$DUCKDB_VERSION && make && cd ..
43+
rm -rf duckdb-v$DUCKDB_VERSION
44+
mkdir -p duckdb-v$DUCKDB_VERSION/build/release/src duckdb-v$DUCKDB_VERSION/src
45+
cp -rip duckdb-tmp-v$DUCKDB_VERSION/build/release/src/*.so duckdb-v$DUCKDB_VERSION/build/release/src
46+
cp -rip duckdb-tmp-v$DUCKDB_VERSION/src/include duckdb-v$DUCKDB_VERSION/src/
47+
48+
- name: bundle install with Ruby ${{ matrix.ruby }}
49+
env:
50+
DUCKDB_VERSION: ${{ matrix.duckdb }}
51+
run: |
52+
bundle install --jobs 4 --retry 3
53+
54+
- name: Build test with DUCKDB_API_NO_DEPRECATED and Ruby ${{ matrix.ruby }}
55+
env:
56+
DUCKDB_VERSION: ${{ matrix.duckdb }}
57+
run: |
58+
env DUCKDB_API_NO_DEPRECATED=1 bundle exec rake build -- --with-duckdb-include=${GITHUB_WORKSPACE}/duckdb-v${DUCKDB_VERSION}/src/include --with-duckdb-lib=${GITHUB_WORKSPACE}/duckdb-v${DUCKDB_VERSION}/build/release/src/
59+
bundle exec rake clean
60+
61+
- name: Build with Ruby ${{ matrix.ruby }}
62+
env:
63+
DUCKDB_VERSION: ${{ matrix.duckdb }}
64+
run: |
65+
bundle exec rake build -- --with-duckdb-include=${GITHUB_WORKSPACE}/duckdb-v${DUCKDB_VERSION}/src/include --with-duckdb-lib=${GITHUB_WORKSPACE}/duckdb-v${DUCKDB_VERSION}/build/release/src/
66+
67+
- name: test with Ruby ${{ matrix.ruby }}
68+
env:
69+
DUCKDB_VERSION: ${{ matrix.duckdb }}
70+
run: |
71+
env RUBYOPT=-W:deprecated ASAN_TEST=1 bundle exec rake test

0 commit comments

Comments
 (0)