-
Notifications
You must be signed in to change notification settings - Fork 40
143 lines (143 loc) · 4.43 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
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@v2
- 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@v2
continue-on-error: true
with:
path: |
~/.cargo/registry
~/.cargo/git
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: Check 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