-
Notifications
You must be signed in to change notification settings - Fork 2
120 lines (100 loc) · 2.62 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
name: tw-macro
on:
# workflow_dispatch:
# paths:
# - '**'
push:
branches: [master]
# paths:
# - '**'
# pull_request:
# paths:
# - '**'
env:
CARGO_TERM_COLOR: always
jobs:
check_and_test_rust_monorepo:
name: Run code checks for rust workspace
timeout-minutes: 80
runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: rust
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
# - name: Install rustfmt
# run: rustup component add rustfmt
# - name: Install Protoc
# uses: arduino/setup-protoc@v1
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: Swatinem/rust-cache@v1
- name: Run cargo test
run: cargo test --verbose
format:
name: Rustfmt
runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: rust
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- run: rustup component add rustfmt
- run: cargo fmt
- run: cargo clippy --fix
clippy:
name: Clippy
runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: rust
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- run: rustup component add clippy
- run: cargo clippy -- -D warnings
# versioning:
# runs-on: ubuntu-latest
# needs: [check_and_test_rust_monorepo, format, clippy]
# defaults:
# run:
# working-directory: tw-macro
# steps:
# - uses: actions/checkout@v3
# - name: Setup Rust
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# components: cargo-release
# - name: Bump version and create tag
# run: |
# cargo release patch --no-publish --no-push --no-dev-version
# git tag -l | tail -n 1 > VERSION
# - name: Push changes
# uses: ad-m/github-push-action@master
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# tags: true
# publish:
# needs: versioning
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Publish crate
# run: cargo publish
# env:
# CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}