-
Notifications
You must be signed in to change notification settings - Fork 41
163 lines (163 loc) · 5.09 KB
/
ci.yaml
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
name: CI
on:
- push
- pull_request
- workflow_dispatch
jobs:
tests:
name: CI
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
channel: [stable]
target:
- x86_64-pc-windows-msvc
- x86_64-pc-windows-gnu
- i686-pc-windows-msvc
- i686-pc-windows-gnu
include:
- channel: stable
target: x86_64-pc-windows-msvc
lint: true
- channel: '1.46'
target: x86_64-pc-windows-msvc
restrict_deps_versions: true
env:
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- name: Install rust-${{ matrix.channel }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.channel }}
profile: minimal
override: true
- name: Cache cargo registry
uses: actions/cache@v4
continue-on-error: true
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
key: ${{ runner.os }}-cargo-${{ matrix.channel }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.channel }}
- name: Create Cargo.lock
uses: actions-rs/cargo@v1
with:
command: generate-lockfile
- name: Restrict iana-time-zone version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package iana-time-zone --precise 0.1.54
- name: Restrict js-sys version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package js-sys --precise 0.3.50
- name: Restrict wasm-bindgen version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package wasm-bindgen --precise 0.2.84
- name: Restrict serde_bytes version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package serde_bytes --precise 0.11.10
- name: Restrict serde_json version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package serde_json --precise 1.0.72
- name: Restrict serde version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package serde --precise 1.0.156
- name: Restrict serde_derive version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package serde_derive --precise 1.0.156
- name: Restrict chrono version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package chrono --precise 0.4.24
- name: Restrict quote version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package quote --precise 1.0.30
- name: Restrict proc-macro2 version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package proc-macro2 --precise 1.0.65
- name: Restrict windows-targets version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package windows-targets:0.48.5 --precise 0.48.5
- name: Restrict windows_x86_64_msvc version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package windows_x86_64_msvc:0.48.5 --precise 0.48.5
- name: Restrict libc version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package libc --precise 0.2.164
- name: Restrict num-traits version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package num-traits --precise 0.2.18
- name: Setup Taplo
if: matrix.lint
uses: uncenter/setup-taplo@v1
with:
version: "0.8.1"
- name: Check Cargo.toml formatting
if: matrix.lint
run: taplo fmt --check --diff
- name: Check sourcecode formatting
if: matrix.lint
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Lint
if: matrix.lint
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-features --all-targets
- name: Run tests (no features)
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --release --no-fail-fast --no-default-features
- name: Run tests (all features)
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --release --no-fail-fast --all-features