-
Notifications
You must be signed in to change notification settings - Fork 40
139 lines (139 loc) · 4.21 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
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.34.2
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 chrono version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package chrono --precise 0.4.19
- 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 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 ryu version
if: matrix.restrict_deps_versions
uses: actions-rs/cargo@v1
with:
command: update
args: --package ryu --precise 1.0.6
- 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