mirror of
https://github.com/TheFunny/TelegramTwitterMediaBot.git
synced 2026-09-23 23:32:05 +00:00
ci: add test/clippy workflow and gate live/token tests
The docker workflow only builds/pushes; tests were a local responsibility. Add .github/workflows/ci.yml with two layers: - test: cargo fmt --check + cargo clippy --workspace --all-targets -D warnings + cargo test --workspace (fully offline, no secrets) on every push/PR, including forks. - live: the #[ignore]d live-network tests plus the pixiv token-gated tests, run on schedule / manual dispatch / tag pushes only (fork PRs cannot read repository secrets), with PIXIV_REFRESH_TOKEN / TWITTER_AUTH_TOKEN injected and continue-on-error for flaky sites. Test gating (documented in AGENTS.md): - live-network tests now carry #[ignore = "live network: ..."] (twitter 3, bsky 2, pixiv bogus-token 1) and run via -- --ignored live. - pixiv token tests early-return when PIXIV_REFRESH_TOKEN is absent or empty (an unset GitHub secret arrives as ""); test_fetch previously failed without a token. Also fixes the three clippy assertions_on_constants warnings in send.rs (required for -D warnings).
This commit is contained in:
@@ -155,7 +155,9 @@ impl Task {
|
||||
Task::SendMediaSequence { media_batches, .. } => {
|
||||
media_batches.iter().flatten().collect()
|
||||
}
|
||||
Task::SendAnimation { animation, .. } => std::slice::from_ref(animation).iter().collect(),
|
||||
Task::SendAnimation { animation, .. } => {
|
||||
std::slice::from_ref(animation).iter().collect()
|
||||
}
|
||||
Task::ForwardMessages { .. } => Vec::new(),
|
||||
}
|
||||
}
|
||||
@@ -1333,9 +1335,10 @@ mod tests {
|
||||
#[test]
|
||||
fn oversized_photo_boundary() {
|
||||
// The empirical Telegram limit: sum 10000 passes, 10001 fails.
|
||||
assert!(crate::photo::PHOTO_MAX_DIMENSION_SUM == 10000);
|
||||
assert!(6100 + 3900 <= crate::photo::PHOTO_MAX_DIMENSION_SUM);
|
||||
assert!(6300 + 3730 > crate::photo::PHOTO_MAX_DIMENSION_SUM);
|
||||
// Const-block asserts so clippy's assertions_on_constants stays quiet.
|
||||
const { assert!(crate::photo::PHOTO_MAX_DIMENSION_SUM == 10000) };
|
||||
const { assert!(6100 + 3900 <= crate::photo::PHOTO_MAX_DIMENSION_SUM) };
|
||||
const { assert!(6300 + 3730 > crate::photo::PHOTO_MAX_DIMENSION_SUM) };
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user