-
Notifications
You must be signed in to change notification settings - Fork 0
138 lines (120 loc) · 3.16 KB
/
rust.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
131
132
133
134
135
136
137
138
name: CI Rust -> Check code and make git version
on:
push:
branches: ["master"]
env:
CARGO_TERM_COLOR: always
jobs:
make-cache:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Make Cache
- uses: Swatinem/rust-cache@v2.7.3
with:
save-if: true
cache-all-crates: true
shared-key: tests
- name: Set Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- name: Job
run: cargo check -r -F full --locked
Clippy:
needs:
- make-cache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Cache
uses: Swatinem/rust-cache@v2.7.3
with:
save-if: false
shared-key: tests
- name: Set Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- name: Job
run: cargo clippy --all-targets -F full --locked -r -- -D warnings
Doc-check:
needs:
- make-cache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Cache
uses: Swatinem/rust-cache@v2.7.3
with:
save-if: false
shared-key: tests
- name: Set toolchain
- uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- name: Job
run: cargo test -F full --doc -r --locked
Lib-check:
needs:
- make-cache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Cache
uses: Swatinem/rust-cache@v2.7.3
with:
save-if: false
shared-key: tests
- name: Set Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- name: Job
run: cargo test -p shuller -F full -r --lib --locked
Lib-and-Tests-check:
needs:
- make-cache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Load Cache
uses: Swatinem/rust-cache@v2.7.3
with:
save-if: false
shared-key: tests
- name: Set Toolchain
uses: actions-rs/toolchain@v1.0.6
with:
toolchain: stable
- name: Job
run: cargo test -p shuller tests -F full -r --locked
Make-Tag:
needs:
- Clippy
- Doc-check
- Lib-check
- Lib-and-Tests-check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Save version
run: |
version=$(grep 'version =' Cargo.toml | head -n 1 | cut -d '"' -f 2)
echo $version
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Make tag
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git tag "v$version"
git push origin "v$version"