# CI/CD Fix Plan - November 8, 2025
## Problem Summary
All CI/CD jobs failing since commit `729552b` ("Rust 2024 / ffmpeg 8.0 / Windows build fixes")
## Root Cause Analysis
### Primary Issue: Incomplete Rust 2024 Migration
Commit `729552b` performed massive refactoring (125 files):
- Changed `edition = "2015"` → `edition = "2024"`
- Mass replacement `use ffi::*` → `use crate::ffi::*`
**MISSED LINE** in `src/software/scaling/flag.rs:4`:
```rust
#[cfg(feature = "ffmpeg_8_0")]
use software::scaling::SwsFlags::*; // ❌ Old import style
```
Should be:
```rust
#[cfg(feature = "ffmpeg_8_0")]
use crate::software::scaling::SwsFlags::*; // ✅ Rust 2024
```
### Failure Details
**macOS / Windows**: Build fails
```
error[E0433]: failed to resolve: use of unresolved module or unlinked crate `software`
--> src/software/scaling/flag.rs:4:5
|
```diff
- let mut dict = crate::ffmpeg::Dictionary::new();
+ let mut dict = $crate::ffmpeg::Dictionary::new();
```
### 3. setup-vcpkg.sh - Add nasm
Add `nasm` to package installation for Linux distributions:
- Ubuntu/Debian: `nasm`
- Fedora/RHEL: `nasm`
- Arch/Manjaro: `nasm`
## Testing
```powershell
# Build examples
cargo build --examples --release
# Run clippy
cargo clippy --examples -- -D warnings
# Run tests
cargo test --examples
```
## Expected Outcome
- All CI jobs pass (macOS, Windows, Linux)
- No clippy warnings
- video-info example builds successfully with frame dumping feature