-
-
Notifications
You must be signed in to change notification settings - Fork 33
130 lines (127 loc) · 3.77 KB
/
test.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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- "**"
env:
CARGO_TERM_COLOR: always
jobs:
examples:
timeout-minutes: 20
strategy:
matrix:
rust_version:
- stable
- "1.74.0" # MSRV
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust_version }}
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ runner.os }}-cargo
workspaces: >
. -> target
examples/actix-kv -> target
examples/axum-kv -> target
examples/basic -> target
examples/gc-simple -> target
examples/partition-rotation -> target
examples/permuterm -> target
examples/rolling-log -> target
examples/secondary-index -> target
examples/structured -> target
examples/suffix-search -> target
examples/tokio -> target
examples/triplestore -> target
examples/tx-atomic-counter -> target
examples/tx-blob-cas
examples/tx-mpmc-queue -> target
examples/tx-partition-move -> target
examples/tx-ssi-cc -> target
examples/tx-ssi-mpmc-queue -> target
examples/tx-ssi-partition-move -> target
- name: Build & test examples
run: node compile_examples.mjs
test:
timeout-minutes: 20
strategy:
matrix:
rust_version:
- stable
- "1.74.0" # MSRV
os:
- ubuntu-latest
- windows-latest
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust_version }}
- name: Add rustfmt
run: rustup component add rustfmt
- name: Add clippy
run: rustup component add clippy
- name: Set up cargo cache
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ runner.os }}-cargo
workspaces: >
. -> target
- name: Install cargo-all-features
run: cargo install cargo-all-features
- uses: taiki-e/install-action@nextest
- name: Format
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy
- name: Build permutations
run: cargo build-all-features
- name: Run whitebox tests
run: cargo test --features __internal_whitebox -- whitebox_ --test-threads=1
- name: Run tests
run: cargo nextest run --features lz4,miniz,single_writer_tx,bloom
- name: Run SSI tests
run: cargo nextest run --no-default-features --features ssi_tx tx_ssi_
- name: Run doc tests
run: cargo test --doc
- name: Run SSI doc tests
run: cargo test --no-default-features --features ssi_tx --doc
cross:
timeout-minutes: 15
name: cross
strategy:
matrix:
target:
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- i686-unknown-linux-gnu
- powerpc64-unknown-linux-gnu
- riscv64gc-unknown-linux-gnu
# - aarch64-linux-android
# - i686-linux-android
# - x86_64-linux-android
#- mips64-unknown-linux-gnuabi64
#- x86_64-apple-darwin
#- aarch64-apple-darwin
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: cross test
run: |
cargo install cross
cross test --target ${{ matrix.target }}