Skip to content

Commit 3e08ca1

Browse files
committed
Pipeline framework: MPSGraph + RKNN pipelined dispatch, TOML config runtime, docs
1 parent 825ce91 commit 3e08ca1

235 files changed

Lines changed: 43799 additions & 6012 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 101 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,85 @@ jobs:
5959
if: runner.os == 'Linux'
6060
run: cargo check -p yscv-kernels --features gpu
6161

62+
- name: GPU feature workspace compilation check
63+
if: runner.os == 'Linux'
64+
run: cargo check --workspace --features gpu
65+
66+
- name: GPU feature clippy (yscv-kernels)
67+
if: runner.os == 'Linux'
68+
run: cargo clippy -p yscv-kernels --features gpu --all-targets -- -D warnings
69+
70+
- name: GPU feature clippy (yscv-onnx)
71+
if: runner.os == 'Linux'
72+
run: cargo clippy -p yscv-onnx --features gpu --all-targets -- -D warnings
73+
74+
- name: GPU feature tests
75+
if: runner.os == 'Linux'
76+
run: |
77+
cargo test -p yscv-kernels --features gpu --lib
78+
cargo test -p yscv-onnx --features gpu --lib
79+
80+
- name: RKNN feature compilation check
81+
if: runner.os == 'Linux'
82+
run: cargo check -p yscv-kernels --features rknn
83+
84+
- name: RKNN feature clippy
85+
if: runner.os == 'Linux'
86+
run: cargo clippy -p yscv-kernels --features rknn --all-targets -- -D warnings
87+
88+
- name: RKNN feature tests
89+
if: runner.os == 'Linux'
90+
run: cargo test -p yscv-kernels --features rknn --lib
91+
92+
# Cross-check on Linux ARM64 from macOS to catch cfg(target_os = "linux")
93+
# bugs that pure macOS check would miss.
94+
- name: Install Linux ARM64 cross target (macOS)
95+
if: runner.os == 'macOS'
96+
run: rustup target add aarch64-unknown-linux-gnu
97+
98+
- name: RKNN feature cross-check (Linux ARM64 from macOS)
99+
if: runner.os == 'macOS'
100+
run: cargo check -p yscv-kernels --features rknn --target aarch64-unknown-linux-gnu
101+
102+
- name: RKNN feature cross-clippy (Linux ARM64 from macOS)
103+
if: runner.os == 'macOS'
104+
run: cargo clippy -p yscv-kernels --features rknn --target aarch64-unknown-linux-gnu -- -D warnings
105+
106+
- name: Metal backend compilation check
107+
if: runner.os == 'macOS'
108+
run: cargo check --workspace --features metal-backend
109+
110+
- name: Metal backend clippy (yscv-kernels)
111+
if: runner.os == 'macOS'
112+
run: cargo clippy -p yscv-kernels --features metal-backend --all-targets -- -D warnings
113+
114+
- name: Metal backend clippy (yscv-onnx)
115+
if: runner.os == 'macOS'
116+
run: cargo clippy -p yscv-onnx --features metal-backend --all-targets -- -D warnings
117+
118+
- name: Metal backend + profile clippy (yscv-onnx)
119+
if: runner.os == 'macOS'
120+
run: cargo clippy -p yscv-onnx --features "metal-backend profile" --all-targets -- -D warnings
121+
122+
- name: Metal backend tests
123+
if: runner.os == 'macOS'
124+
run: cargo test --workspace --release --features metal-backend
125+
126+
- name: Metal backend feature-scoped tests
127+
if: runner.os == 'macOS'
128+
run: |
129+
cargo test -p yscv-kernels --features metal-backend --lib
130+
cargo test -p yscv-onnx --features metal-backend --lib
131+
132+
- name: Native camera compile smoke
133+
run: cargo check -p yscv-video --features native-camera
134+
135+
- name: Native camera clippy
136+
run: cargo clippy -p yscv-video --features native-camera --all-targets -- -D warnings
137+
138+
- name: Native camera tests
139+
run: cargo test -p yscv-video --features native-camera --lib
140+
62141
aarch64-linux:
63142
name: ARM64 Linux (aarch64)
64143
runs-on: ubuntu-24.04-arm
@@ -126,12 +205,32 @@ jobs:
126205
- name: Format
127206
run: cargo fmt --check
128207

129-
- name: Clippy
208+
- name: Clippy (default features)
130209
run: cargo clippy --workspace --all-targets -- -D warnings
131210

132-
- name: Test Workspace
211+
- name: Clippy (gpu feature)
212+
run: cargo clippy --workspace --all-targets --features gpu -- -D warnings
213+
214+
- name: Clippy (gpu + rknn + native-camera)
215+
run: cargo clippy --workspace --all-targets --features "gpu rknn native-camera" -- -D warnings
216+
217+
- name: Clippy (profile feature)
218+
run: cargo clippy -p yscv-onnx --all-targets --features "gpu profile" -- -D warnings
219+
220+
- name: Test Workspace (default)
133221
run: cargo test
134222

223+
- name: Test Workspace (proptest extended)
224+
env:
225+
PROPTEST_CASES: "4096"
226+
run: cargo test --workspace --lib
227+
228+
- name: Doc counts gate
229+
run: bash scripts/check-doc-counts.sh
230+
231+
- name: SAFETY comments gate
232+
run: bash scripts/check-safety-comments.sh
233+
135234
- name: Verify Camera Listing UX (No Native Feature)
136235
run: |
137236
cargo run -p yscv-cli --bin yscv-cli -- --list-cameras

.github/workflows/hw-decode.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ jobs:
2424
- os: windows-latest
2525
features: ""
2626
name: Windows (SW fallback)
27+
- os: [self-hosted, linux, nvidia]
28+
features: nvdec
29+
name: Linux + NVDEC (self-hosted)
2730

2831
name: ${{ matrix.name }}
2932
runs-on: ${{ matrix.os }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,4 @@ onnxruntime_profile__*.json
5252
*.log
5353
*.tmp
5454
.env
55+
private/

0 commit comments

Comments
 (0)