2
2
3
3
on :
4
4
push :
5
- branches : [ main ]
5
+ branches : [main]
6
6
pull_request :
7
- branches : [ main ]
7
+ branches : [main]
8
8
env :
9
9
RUST_BACKTRACE : 1
10
10
jobs :
@@ -14,15 +14,16 @@ jobs:
14
14
fail-fast : true
15
15
matrix :
16
16
include :
17
- - { target: x86_64-pc-windows-msvc, os: windows-latest, duckdb: libduckdb-windows-amd64.zip }
18
- - { target: x86_64-unknown-linux-gnu, os: ubuntu-latest, duckdb: libduckdb-linux-amd64.zip }
19
- # - { target: x86_64-apple-darwin, os: macos-latest }
20
- # - {
21
- # target: x86_64-pc-windows-gnu,
22
- # os: windows-latest,
23
- # host: -x86_64-pc-windows-gnu,
24
- # }
25
-
17
+ - {
18
+ target : x86_64-pc-windows-msvc,
19
+ os : windows-latest,
20
+ duckdb : libduckdb-windows-amd64.zip,
21
+ }
22
+ - {
23
+ target : x86_64-unknown-linux-gnu,
24
+ os : ubuntu-latest,
25
+ duckdb : libduckdb-linux-amd64.zip,
26
+ }
26
27
runs-on : ${{ matrix.os }}
27
28
steps :
28
29
- uses : actions/checkout@v2
58
59
LD_LIBRARY_PATH : ${{ github.workspace }}/libduckdb
59
60
run : cargo clippy --all-targets --all-features --locked -- -D warnings
60
61
62
+ - name : Dry-run release of crates
63
+ if : matrix.os == 'ubuntu-latest'
64
+ uses : katyo/publish-crates@v2
65
+ with :
66
+ path : " ./"
67
+ args : --allow-dirty --all-features
68
+ dry-run : true
69
+ ignore-unpublished-changes : true
70
+
61
71
# For windows
62
72
- name : Windows extract duckdb
63
73
if : matrix.os == 'windows-latest'
@@ -94,35 +104,16 @@ jobs:
94
104
DUCKDB_INCLUDE_DIR : ${{ github.workspace }}/libduckdb
95
105
LD_LIBRARY_PATH : ${{ github.workspace }}/libduckdb
96
106
97
- Windows :
98
- name : Windows build from source
99
- needs : test
100
- runs-on : windows-latest
101
- steps :
102
- - uses : actions/checkout@v2
103
- - uses : actions/cache@v3
104
- with :
105
- path : ~/.cargo/registry/index
106
- key : index-${{ runner.os }}-${{ github.run_number }}
107
- restore-keys : |
108
- index-${{ runner.os }}-
109
- - uses : actions-rust-lang/setup-rust-toolchain@v1
110
- with :
111
- target : x86_64-pc-windows-msvc
112
-
113
- - run : cargo install cargo-examples
114
-
115
107
Sanitizer :
116
108
name : Address Sanitizer
117
- needs : test
118
109
runs-on : ubuntu-latest
119
110
steps :
120
111
- uses : actions/checkout@v2
121
112
# Need nightly rust.
122
113
- uses : actions-rust-lang/setup-rust-toolchain@v1
123
114
with :
124
115
toolchain : nightly
125
- components : ' rust-src'
116
+ components : " rust-src"
126
117
# Install LLVM tools
127
118
- name : Install LLVM
128
119
run : |
@@ -132,21 +123,9 @@ jobs:
132
123
RUSTFLAGS : -Zsanitizer=address -C debuginfo=0
133
124
RUSTDOCFLAGS : -Zsanitizer=address
134
125
ASAN_OPTIONS : " detect_stack_use_after_return=1:detect_leaks=1:symbolize=1"
135
- # Work around https://github.com/rust-lang/rust/issues/59125 by
136
- # disabling backtraces. In an ideal world we'd probably suppress the
137
- # leak sanitization, but we don't care about backtraces here, so long
138
- # as the other tests have them.
139
- RUST_BACKTRACE : " 0"
140
126
# We cannot run "modern-full" with asan as the chrono feature will auto-load relase binaries of
141
127
# the ICU-extension, which are not built with ASAN and will cause a crash.
142
128
run : |
143
129
export ASAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)
144
130
echo $ASAN_SYMBOLIZER_PATH
145
131
cargo -Z build-std test --features "serde_json url r2d2 uuid polars extensions-full" --target x86_64-unknown-linux-gnu --package duckdb
146
- - name : publish crates --dry-run
147
- uses : katyo/publish-crates@v2
148
- with :
149
- path : ' ./'
150
- args : --allow-dirty --all-features
151
- dry-run : true
152
- ignore-unpublished-changes : true
0 commit comments