-
Notifications
You must be signed in to change notification settings - Fork 23
147 lines (125 loc) · 3.91 KB
/
build.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
139
140
141
142
143
144
145
146
147
name: Build
on:
merge_group:
pull_request:
push:
branches:
- master
env:
CARGO_TERM_COLOR: always
jobs:
# Run cargo fmt --check
style:
name: style
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure Rust target (v6, v7, v8.b v8.m)
run: |
rustup target add thumbv6m-none-eabi
rustup target add thumbv7m-none-eabi
rustup target add thumbv7em-none-eabihf
rustup target add thumbv8m.base-none-eabi
rustup target add thumbv8m.main-none-eabi
- name: cargo fmt --check
run: find . -type f -name Cargo.toml -execdir cargo fmt --check --manifest-path {} +
# Compilation check
check:
name: check
runs-on: ubuntu-22.04
strategy:
matrix:
rticversion:
- v0.5
- v1
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
- name: Configure Rust target (v6, v7, v8.b v8.m)
run: |
rustup target add thumbv6m-none-eabi
rustup target add thumbv7m-none-eabi
rustup target add thumbv7em-none-eabihf
rustup target add thumbv8m.base-none-eabi
rustup target add thumbv8m.main-none-eabi
- name: Install flip-link
run: cargo install flip-link
- name: cargo check
run: find rtic_${{ matrix.rticversion }} -type f -name Cargo.toml -execdir cargo build --release --manifest-path {} +
# Clippy
clippy:
name: Cargo clippy
runs-on: ubuntu-22.04
strategy:
matrix:
rticversion:
- v0.5
- v1
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
- name: Configure Rust target (v6, v7, v8.b v8.m)
run: |
rustup target add thumbv6m-none-eabi
rustup target add thumbv7m-none-eabi
rustup target add thumbv7em-none-eabihf
rustup target add thumbv8m.base-none-eabi
rustup target add thumbv8m.main-none-eabi
- name: cargo clippy
run: find rtic_${{ matrix.rticversion }} -type f -name Cargo.toml -execdir cargo clippy --target-dir /tmp/build --manifest-path {} +
# Compilation
build:
name: build
runs-on: ubuntu-22.04
strategy:
matrix:
rticversion:
- v0.5
- v1
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
- name: Configure Rust target (v6, v7, v8.b v8.m)
run: |
rustup target add thumbv6m-none-eabi
rustup target add thumbv7m-none-eabi
rustup target add thumbv7em-none-eabihf
rustup target add thumbv8m.base-none-eabi
rustup target add thumbv8m.main-none-eabi
- name: Install flip-link
run: cargo install flip-link
- name: cargo build
run: find rtic_${{ matrix.rticversion }} -type f -name Cargo.toml -execdir cargo build --release --manifest-path {} +
check-dependabot-config:
name: Ensure that `dependabot.yml` is up to date
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run the update script
run: ./update_dependabot_config.sh
- name: Ensure that nothing has changed
run: git diff && git diff --quiet
# Refs: https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149
#
# ALL THE PREVIOUS JOBS NEEDS TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
ci-success:
name: ci
if: github.event_name == 'push' && success()
needs:
- style
- check
- clippy
- build
- check-dependabot-config
runs-on: ubuntu-22.04
steps:
- name: Mark the job as a success
run: exit 0