-
Notifications
You must be signed in to change notification settings - Fork 11
197 lines (186 loc) · 5.98 KB
/
rust.yml
File metadata and controls
197 lines (186 loc) · 5.98 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
name: CI
on:
push:
branches: [ "master" ]
pull_request:
types: [ opened, synchronize, reopened ]
branches:
- master
env:
CARGO_TERM_COLOR: auto
PGPASSWORD: password
DATABASE_TEST_URL: postgres://postgres:password@localhost:5432/testdb
jobs:
wallet-is-persisted:
name: Test wallet persistence
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Create database
run: |
sudo apt-get install libpq-dev -y
psql -h localhost -p 5432 -U postgres -d postgres -c 'create user testuser'
psql -h localhost -p 5432 -U postgres -d postgres -c 'create database testdb with owner = testuser'
- name: Test wallet_is_persisted
run: cargo test wallet_is_persisted -- --show-output
test-three-wallets:
name: Test three wallets list transactions
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Create database
run: |
sudo apt-get install libpq-dev -y
psql -h localhost -p 5432 -U postgres -d postgres -c 'create user testuser'
psql -h localhost -p 5432 -U postgres -d postgres -c 'create database testdb with owner = testuser'
- name: Test test_three_wallets_list_transactions
run: cargo test test_three_wallets_list_transactions -- --show-output
wallet-load-checks:
name: Test wallet load checks
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Create database
run: |
sudo apt-get install libpq-dev -y
psql -h localhost -p 5432 -U postgres -d postgres -c 'create user testuser'
psql -h localhost -p 5432 -U postgres -d postgres -c 'create database testdb with owner = testuser'
- name: Test wallet_load_checks
run: cargo test wallet_load_checks -- --show-output
single-descriptor-wallet:
name: Test single descriptor wallet
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Create database
run: |
sudo apt-get install libpq-dev -y
psql -h localhost -p 5432 -U postgres -d postgres -c 'create user testuser'
psql -h localhost -p 5432 -U postgres -d postgres -c 'create database testdb with owner = testuser'
- name: Test single_descriptor_wallet_persist_and_recover
run: cargo test single_descriptor_wallet_persist_and_recover -- --show-output
two-wallets-load:
name: Test two wallets load
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Create database
run: |
sudo apt-get install libpq-dev -y
psql -h localhost -p 5432 -U postgres -d postgres -c 'create user testuser'
psql -h localhost -p 5432 -U postgres -d postgres -c 'create database testdb with owner = testuser'
- name: Test two_wallets_load
run: cargo test two_wallets_load -- --show-output
fmt-clippy:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- name: Check fmt
run: cargo fmt --all -- --check
- name: Clippy
run: cargo clippy --all-targets -- -Dwarnings
security-audit:
name: Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Run cargo-audit
run: cargo audit --ignore RUSTSEC-2023-0071
unused-dependencies:
name: Check Unused Dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-machete
run: cargo install cargo-machete
- name: Run cargo-machete
run: cargo machete