Skip to content

Conversation

jerensl
Copy link

@jerensl jerensl commented Aug 15, 2025

Recently, we decided to centralize reusable actions in github/actions to make maintenance and updates easier across repositories. As part of this change, we are now adding Clippy annotations to some repos to make it easier to view errors directly in PRs.

servo/ipc-channel#405 (comment)

This should produce an error whenever a warning is present, regardless of the -D warnings flag.

Testing PR: jerensl#2
Tested CI: https://github.com/jerensl/html5ever/actions/runs/17286983289/job/49065906417?pr=2#step:6:1

Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
run: cargo clippy --all-features --all-targets -- -D warnings
uses: servo/actions/cargo-annotation@main
with:
cargo-command: clippy --all-features --all-targets
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it correct that action will only fail the build as long as annotations are enabled? If annotations are ever disabled using with-annotations: false then only cargo clippy will be run but without the -D warnings that this CI setup is using. Is there a way we can fail the build even if annotations are disabled?

Copy link
Author

@jerensl jerensl Aug 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can still use -D warnings when with-annotations is set to false. This flag only causes issues if --message-format=json is specified after -- -D warnings. It only works when placed before it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I follow. The issue I'm referring to is the behaviour of cargo clippy when -D warnings is not passed (as in our action). Without -D warnings, cargo clippy will exit successfully even when there are lint violations and won't block the build.

In the current setup in this repo, -D warnings is being passed explicitly to make cargo clippy fail when there are violations. But in our action, we don't do that and rely on the annotations.sh to exit 1 if there are violations. However, that doesn't happen if annotations get disabled.

The question is if we can change the action to always fail, even if with-annotations is false.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I add new PR here so we can add -- -D warnings when with-annotation is true, so our CI dont get cancel

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure that we need to support explicitly passing -- D warnings in the action in order to preserve the behavior here. I'm thinking maybe we just execute annotations.sh always in the action, regardless of with-annotations being true or false, but only echo the GH annotation logs if with-annotations is true.

@mukilan
Copy link
Member

mukilan commented Aug 22, 2025

Testing: https://github.com/jerensl/html5ever/actions/runs/16986748929/job/48157192732?pr=1#step:6:199

@jerensl have you tested this change with the recent changes to servo/actions/cargo-annotations as well?

@jerensl
Copy link
Author

jerensl commented Aug 22, 2025

Testing: https://github.com/jerensl/html5ever/actions/runs/16986748929/job/48157192732?pr=1#step:6:199

@jerensl have you tested this change with the recent changes to servo/actions/cargo-annotations as well?

I haven't tested on this repo as the PR just merged yet, but im testing that on other repo here before it getting merged

@mukilan
Copy link
Member

mukilan commented Aug 26, 2025

I guess we can trigger another test run from a fork of this repo now that more changes have been merged to servo/actions.

@jerensl
Copy link
Author

jerensl commented Aug 28, 2025

For the new changes in servo/action, I been testing on this pr, and here is the result from CI

@mukilan
Copy link
Member

mukilan commented Aug 29, 2025

For the new changes in servo/action, I been testing on this pr, and here is the result from CI

Do we have a run to validate the failure scenario as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants