-
Notifications
You must be signed in to change notification settings - Fork 40
130 lines (124 loc) · 3.93 KB
/
ci_flake.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
on: [push, pull_request]
name: CI
jobs:
self-care:
name: Flake self-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Nix flake inputs
uses: DeterminateSystems/flake-checker-action@v7
with:
fail-mode: true
pre-commit-checks:
name: "Pre-commit checks: cargo fmt, typos"
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Pre-commit checks
run: nix develop -i -L .#stable --command pre-commit run --all-files
clippy:
name: "Stable build, clippy and test"
runs-on: ubuntu-latest
strategy:
matrix:
build-args:
[
-p cdk,
-p cdk --no-default-features,
-p cdk --no-default-features --features wallet,
-p cdk --no-default-features --features mint,
-p cdk-redb,
-p cdk-sqlite,
-p cdk-axum,
-p cdk-cln,
-p cdk-lnd,
-p cdk-phoenixd,
-p cdk-strike,
-p cdk-lnbits
-p cdk-integration-tests,
-p cdk-fake-wallet,
--bin cdk-cli,
--bin cdk-mintd,
]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Build
run: nix develop -i -L .#stable --command cargo build ${{ matrix.build-args }}
- name: Clippy
run: nix develop -i -L .#stable --command cargo clippy ${{ matrix-build-args }} -- -D warnings
- name: Test
run: nix develop -i -L .#stable --command cargo test ${{ matrix.build-args }}
build-test:
name: "MSRV build and test"
runs-on: ubuntu-latest
strategy:
matrix:
build-args:
[
-p cdk,
-p cdk --no-default-features,
-p cdk --no-default-features --features wallet,
-p cdk --no-default-features --features mint,
-p cdk-axum,
-p cdk-strike,
-p cdk-lnbits,
-p cdk-phoenixd,
]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Build
run: nix develop -i -L .#msrv --command cargo build ${{ matrix.build-args }}
- name: Test
run: nix develop -i -L .#msrv --command cargo test ${{ matrix.build-args }}
check-wasm:
name: Check WASM
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- msrv
- stable
target:
- wasm32-unknown-unknown
build-args:
[
-p cdk,
-p cdk --no-default-features,
-p cdk --no-default-features --features wallet,
-p cdk-js
]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v11
- name: Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v6
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Check cdk and binding
run: nix develop -i -L ".#${{ matrix.rust }}" --command cargo check ${{ matrix.build-args }} --target ${{ matrix.target }}
- name: Clippy cdk and bindings
run: nix develop -i -L ".#${{ matrix.rust }}" --command cargo build ${{ matrix.build-args }} --target ${{ matrix.target }}