-
Notifications
You must be signed in to change notification settings - Fork 249
129 lines (128 loc) · 3.99 KB
/
test.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
name: Test Core
on:
push:
branches:
- master
pull_request:
env:
RUSTFLAGS: -D warnings
jobs:
test:
runs-on: ${{ matrix.platform.os }}
name: "${{ matrix.platform.os }} ${{ matrix.platform.rs }} ${{ matrix.features }}"
strategy:
fail-fast: false
matrix:
platform:
- os: ubuntu-latest
rs: 1.80.0
- os: ubuntu-latest
rs: stable
- os: macos-latest
rs: 1.80.0
- os: macos-latest
rs: stable
features: ['', '--features unstable,legacy,__abi-generate']
steps:
- uses: actions/checkout@v4
- name: "${{ matrix.platform.rs }} with rustfmt, and wasm32"
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.platform.rs }}
default: true
target: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v1
# - name: Downgrade dependencies
# run: |
# cargo update -p [email protected] --precise 4.4.18
# cd examples/adder && cargo update -p [email protected] --precise 4.4.18
- name: print rustc && rustdoc version
run: rustc --version && rustdoc --version
- name: test
run: cargo test --all ${{ matrix.features }}
lint:
name: Clippy and fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v1
- name: Test Format
run: cargo fmt -- --check
- run: cargo clippy --tests --all-features -- -Dclippy::all
compilation:
name: Compilation tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: Swatinem/rust-cache@v1
- name: Compilation tests
run: cargo test --package near-sdk --test compilation_tests --features __abi-generate --features unstable -- compilation_tests --exact --nocapture
windows:
name: Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: "Setup Windows toolchain"
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: Swatinem/rust-cache@v1
- run: cargo check -p near-sdk --features unstable,legacy
- run: cargo check -p near-sdk --no-default-features
- run: cargo check -p near-sdk --no-default-features --features legacy
- run: cargo check -p near-sdk --no-default-features --features unstable
- run: cargo check -p near-contract-standards
audit:
name: Audit
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- name: Install Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- uses: Swatinem/rust-cache@v1
- name: Install Audit
run: cargo install cargo-audit
- name: Run Audit
run: cargo audit
# there're sometimes warnings, which signal, that the generated doc
# won't look as expected, when rendered, and sometimes errors, which will prevent doc from being
# generated at release time altogether.
cargo-doc:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- name: run cargo doc
env:
RUSTDOCFLAGS: -D warnings
run: |
cargo doc -p near-sdk --features unstable,legacy,unit-testing,__macro-docs
cargo doc -p near-sdk-macros
cargo doc -p near-contract-standards --no-deps
cargo doc -p near-sys