@@ -142,3 +142,44 @@ Update `Cargo.toml` version before committing; pre-commit hook validates changes
142142** Ignored tests** (` #[ignore] ` ): Run explicitly with ` cargo test -- --ignored `
143143
144144Example: ` cargo test test_batch_config -- --nocapture `
145+
146+ ## GitHub CI Verification
147+
148+ After pushing commits, always verify CI passes using ` gh ` CLI (not direct links):
149+
150+ ``` bash
151+ # View CI run status (get run ID from push output or list)
152+ gh run list --repo leafyoung/rust-yt-uploader --limit 3
153+
154+ # Watch CI run progress with live updates
155+ gh run watch < run-id> --repo leafyoung/rust-yt-uploader --exit-status
156+
157+ # If CI fails, view detailed failure logs
158+ gh run view < run-id> --repo leafyoung/rust-yt-uploader --log-failed
159+
160+ # View specific job logs
161+ gh run view < run-id> --repo leafyoung/rust-yt-uploader --job < job-id>
162+ ```
163+
164+ ### Common CI Issues and Fixes
165+
166+ 1 . ** Rust version too old** : Dependencies may require newer Rust. Update ` rust-version ` in ` Cargo.toml ` and CI matrix.
167+ 2 . ** Mold linker not available** : CI runners don't have mold installed. Use ` rui314/setup-mold@v1 ` action in workflow.
168+ 3 . ** Security vulnerabilities** : ` cargo audit ` may find issues. Update vulnerable dependencies via ` cargo update ` .
169+ 4 . ** Node.js deprecation warnings** : Use newer action versions (e.g., ` Swatinem/rust-cache@v2 ` instead of ` actions/cache@v3 ` ).
170+
171+ ### Workflow Example
172+
173+ ``` bash
174+ # 1. Make changes and commit
175+ git add . && git commit -m " fix: something"
176+
177+ # 2. Push and note the run ID from output
178+ git push
179+
180+ # 3. Watch CI until completion
181+ gh run watch --repo leafyoung/rust-yt-uploader --exit-status
182+
183+ # 4. If failed, diagnose and fix
184+ gh run view --log-failed --repo leafyoung/rust-yt-uploader
185+ ```
0 commit comments