Skip to content

Commit 85ccd6a

Browse files
committed
organize workflows
1 parent 17ef7cd commit 85ccd6a

9 files changed

Lines changed: 231 additions & 114 deletions

File tree

.github/workflows/check-macos.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Check macOS
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
RUSTFLAGS: "-D warnings"
12+
13+
jobs:
14+
check:
15+
name: Check (macos-latest)
16+
runs-on: macos-latest
17+
steps:
18+
- uses: actions/checkout@v6
19+
- uses: dtolnay/rust-toolchain@stable
20+
with:
21+
components: clippy, rustfmt
22+
- uses: Swatinem/rust-cache@v2
23+
- name: Setup zccache
24+
shell: bash
25+
run: |
26+
pip install zccache
27+
find ~/.local -name 'zccache*' -type f -exec chmod +x {} + 2>/dev/null || true
28+
zccache start
29+
- name: Check
30+
run: cargo check --workspace --all-targets
31+
env:
32+
RUSTC_WRAPPER: zccache
33+
- name: Clippy
34+
run: cargo clippy --workspace --all-targets -- -D warnings
35+
env:
36+
RUSTC_WRAPPER: zccache
37+
- name: Test
38+
run: cargo test --workspace
39+
env:
40+
RUSTC_WRAPPER: zccache

.github/workflows/check-ubuntu.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Check Ubuntu
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
RUSTFLAGS: "-D warnings"
12+
13+
jobs:
14+
check:
15+
name: Check (ubuntu-latest)
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v6
19+
- uses: dtolnay/rust-toolchain@stable
20+
with:
21+
components: clippy, rustfmt
22+
- uses: Swatinem/rust-cache@v2
23+
- name: Setup zccache
24+
shell: bash
25+
run: |
26+
pip install zccache
27+
find ~/.local -name 'zccache*' -type f -exec chmod +x {} + 2>/dev/null || true
28+
zccache start
29+
- name: Check
30+
run: cargo check --workspace --all-targets
31+
env:
32+
RUSTC_WRAPPER: zccache
33+
- name: Clippy
34+
run: cargo clippy --workspace --all-targets -- -D warnings
35+
env:
36+
RUSTC_WRAPPER: zccache
37+
- name: Test
38+
run: cargo test --workspace
39+
env:
40+
RUSTC_WRAPPER: zccache
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Check Windows
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
RUSTFLAGS: "-D warnings"
12+
13+
jobs:
14+
check:
15+
name: Check (windows-latest)
16+
runs-on: windows-latest
17+
steps:
18+
- uses: actions/checkout@v6
19+
- uses: dtolnay/rust-toolchain@stable
20+
with:
21+
components: clippy, rustfmt
22+
- uses: Swatinem/rust-cache@v2
23+
- name: Setup zccache
24+
shell: bash
25+
run: |
26+
pip install zccache
27+
find ~/.local -name 'zccache*' -type f -exec chmod +x {} + 2>/dev/null || true
28+
zccache start
29+
- name: Check
30+
run: cargo check --workspace --all-targets
31+
env:
32+
RUSTC_WRAPPER: zccache
33+
- name: Clippy
34+
run: cargo clippy --workspace --all-targets -- -D warnings
35+
env:
36+
RUSTC_WRAPPER: zccache
37+
- name: Test
38+
run: cargo test --workspace
39+
env:
40+
RUSTC_WRAPPER: zccache

.github/workflows/ci.yml

Lines changed: 0 additions & 113 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
docs:
11+
name: Documentation
12+
runs-on: ubuntu-latest
13+
env:
14+
RUSTDOCFLAGS: "-D warnings"
15+
steps:
16+
- uses: actions/checkout@v6
17+
- uses: dtolnay/rust-toolchain@stable
18+
- uses: Swatinem/rust-cache@v2
19+
- name: Setup zccache
20+
run: |
21+
pip install zccache
22+
find ~/.local -name 'zccache*' -type f -exec chmod +x {} + 2>/dev/null || true
23+
zccache start
24+
- name: Build docs
25+
run: cargo doc --workspace --no-deps
26+
env:
27+
RUSTC_WRAPPER: zccache

.github/workflows/fmt.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Formatting
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
fmt:
11+
name: Formatting
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v6
15+
- uses: dtolnay/rust-toolchain@stable
16+
with:
17+
components: rustfmt
18+
- name: Check formatting
19+
run: cargo fmt --all -- --check

.github/workflows/msrv.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Min Rust Version (1.75)
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
msrv:
11+
name: Min Rust Version (1.75)
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v6
15+
- uses: dtolnay/rust-toolchain@1.75.0
16+
- uses: Swatinem/rust-cache@v2
17+
- name: Setup zccache
18+
run: |
19+
pip install zccache
20+
find ~/.local -name 'zccache*' -type f -exec chmod +x {} + 2>/dev/null || true
21+
zccache start
22+
- name: Check MSRV
23+
run: cargo check --workspace
24+
env:
25+
RUSTC_WRAPPER: zccache
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Validate Boards
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
validate-boards:
11+
name: Validate Board Definitions
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v6
15+
- uses: actions/setup-python@v6
16+
with:
17+
python-version: "3.12"
18+
- name: Install PlatformIO
19+
run: pip install platformio
20+
- name: Install PlatformIO platforms
21+
run: |
22+
pio pkg install -g -p "platformio/atmelavr"
23+
pio pkg install -g -p "platformio/espressif32"
24+
pio pkg install -g -p "platformio/espressif8266"
25+
pio pkg install -g -p "platformio/teensy"
26+
pio pkg install -g -p "platformio/ststm32"
27+
pio pkg install -g -p "platformio/raspberrypi"
28+
pio pkg install -g -p "platformio/atmelmegaavr"
29+
- name: Validate board JSONs match PlatformIO
30+
run: python ci/validate_boards.py

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,16 @@
44

55
## Build Status
66

7-
[![CI](https://github.com/fastled/fbuild/actions/workflows/ci.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/ci.yml)
7+
### CI
8+
[![Check Ubuntu](https://github.com/fastled/fbuild/actions/workflows/check-ubuntu.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/check-ubuntu.yml)
9+
[![Check macOS](https://github.com/fastled/fbuild/actions/workflows/check-macos.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/check-macos.yml)
10+
[![Check Windows](https://github.com/fastled/fbuild/actions/workflows/check-windows.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/check-windows.yml)
11+
[![Formatting](https://github.com/fastled/fbuild/actions/workflows/fmt.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/fmt.yml)
12+
[![Min Rust Version](https://github.com/fastled/fbuild/actions/workflows/msrv.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/msrv.yml)
13+
[![Documentation](https://github.com/fastled/fbuild/actions/workflows/docs.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/docs.yml)
14+
[![Validate Boards](https://github.com/fastled/fbuild/actions/workflows/validate-boards.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/validate-boards.yml)
15+
16+
### Native Binaries
817
[![Build Native Binaries](https://github.com/fastled/fbuild/actions/workflows/build.yml/badge.svg)](https://github.com/fastled/fbuild/actions/workflows/build.yml)
918

1019
### AVR

0 commit comments

Comments
 (0)