Skip to content

Commit 8bf3b13

Browse files
committed
ci: setup ci
1 parent a6c4650 commit 8bf3b13

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

.github/workflows/ci.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: CI
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths-ignore:
7+
- '**/*.md'
8+
push:
9+
branches:
10+
- main
11+
paths-ignore:
12+
- '**/*.md'
13+
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: ${{ github.ref_name != 'main' }}
17+
18+
jobs:
19+
check:
20+
name: Check
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
include:
25+
- os: windows-latest
26+
- os: ubuntu-latest
27+
- os: macos-latest
28+
runs-on: ${{ matrix.os }}
29+
steps:
30+
- uses: actions/checkout@v3
31+
32+
- uses: Swatinem/rust-cache@v2
33+
with:
34+
shared-key: ci
35+
save-if: ${{ github.ref_name == 'main' }}
36+
37+
- run: rustup show
38+
39+
- name: Cargo Check
40+
run: |
41+
cargo check --all-targets --all-features --locked
42+
cargo test --no-run --all-targets --all-features
43+
44+
format:
45+
name: Format
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v3
49+
50+
- run: rustup show
51+
52+
- run: cargo fmt --all -- --check
53+
54+
lint:
55+
name: Clippy
56+
runs-on: ubuntu-latest
57+
steps:
58+
- uses: actions/checkout@v3
59+
60+
- uses: Swatinem/rust-cache@v2
61+
with:
62+
shared-key: ci
63+
save-if: false
64+
65+
- run: rustup show
66+
67+
- run: cargo lint -- -D warnings
68+
69+
test:
70+
name: Test
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
include:
75+
- os: windows-latest
76+
- os: ubuntu-latest
77+
- os: macos-latest
78+
runs-on: ${{ matrix.os }}
79+
steps:
80+
- uses: actions/checkout@v3
81+
82+
- uses: Swatinem/rust-cache@v2
83+
with:
84+
shared-key: ci
85+
save-if: false
86+
87+
- run: rustup show
88+
89+
- run: cargo test

rust-toolchain.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[toolchain]
2+
channel = "stable"
3+
profile = "default"

0 commit comments

Comments
 (0)