Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SquiggleCop to baseline analyzer settings #166

Merged
merged 8 commits into from
Aug 1, 2024

Conversation

MattKotsenas
Copy link
Collaborator

@MattKotsenas MattKotsenas commented Jul 29, 2024

Add SquiggleCop to baseline the analyzers and their configuration. This intends to prevent accidental changes / regressions to the project, such as #165.

Changes made

  • Add SquiggleCop.Tasks and wire into the existing $(PedanticMode) to validate baselines
  • Add SquiggleCop.Tool to support ad-hoc baselining / troubleshooting
  • Update CONTRIBUTING.md with re-baselining procedure
  • Update SDK in global.json to latest version and disable rollforward to support reproducible build
  • Update pipelines to upload SARIF files to aid debugging

@rjmurillo rjmurillo added dependencies Pull requests that update a dependency file analyzers Change that impacts an analyzer behavior releasable build feature labels Jul 29, 2024
Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

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

The PR diff size of 38532 lines exceeds the maximum allowed for the inline comments feature.

@MattKotsenas MattKotsenas force-pushed the feature/squigglecop branch from 822ddef to 4a822ad Compare July 29, 2024 22:01
@MattKotsenas MattKotsenas marked this pull request as ready for review July 29, 2024 22:03
@MattKotsenas MattKotsenas requested a review from rjmurillo July 29, 2024 22:03
Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

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

The PR diff size of 38436 lines exceeds the maximum allowed for the inline comments feature.

rjmurillo
rjmurillo previously approved these changes Jul 29, 2024
build/targets/codeanalysis/CodeAnalysis.targets Outdated Show resolved Hide resolved
build/targets/codeanalysis/CodeAnalysis.targets Outdated Show resolved Hide resolved
build/targets/codeanalysis/CodeAnalysis.targets Outdated Show resolved Hide resolved
build/targets/codeanalysis/CodeAnalysis.targets Outdated Show resolved Hide resolved
build/targets/codeanalysis/CodeAnalysis.targets Outdated Show resolved Hide resolved
@MattKotsenas MattKotsenas force-pushed the feature/squigglecop branch from d355349 to e4e0499 Compare July 31, 2024 22:35
@rjmurillo rjmurillo added the github_actions Pull requests that update GitHub Actions code label Jul 31, 2024
.config/dotnet-tools.json Outdated Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

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

The PR diff size of 6421 lines exceeds the maximum allowed for the inline comments feature.

Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

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

The PR diff size of 6421 lines exceeds the maximum allowed for the inline comments feature.

global.json Outdated Show resolved Hide resolved
Copy link
Owner

@rjmurillo rjmurillo left a comment

Choose a reason for hiding this comment

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

You want to wait for #170 and rebase?

@MattKotsenas
Copy link
Collaborator Author

You want to wait for #170 and rebase?

Yes, once that one merges I'll rebase away the changes here and merge.

MattKotsenas added a commit that referenced this pull request Aug 1, 2024
Update .NET SDK to the latest released version and disable
`rollForward`.

Updates to the .NET SDK feature band can introduce new / updated
analyzers (for instance, 8.0.400 adds
[IDE0320](dotnet/roslyn#73012)). As a result,
updating the feature band isn't "safe" to do from a build
reproducibility perspective. It will also conflict with #166.

That means the roll forward options available to us are:

- `patch`
- `latestPatch`
- `disable`

However, GitHub Actions don't support these options (tracked by
actions/setup-dotnet#448). Thus, the only
`rollForward` strategy that currently does the same thing locally and in
CI is `disabled`.

Once 448 is fixed, we can / should probably switch to `latestPatch`
(tracked by #171).

This 'gotcha' is also added to the SquiggleCop documentation
[here](https://github.com/MattKotsenas/SquiggleCop?tab=readme-ov-file#common-sources-of-baseline-mismatches).
Copy link

@codeclimate codeclimate bot left a comment

Choose a reason for hiding this comment

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

The PR diff size of 6417 lines exceeds the maximum allowed for the inline comments feature.

Copy link

codeclimate bot commented Aug 1, 2024

Code Climate has analyzed commit c049e09 and detected 6 issues on this pull request.

Here's the issue category breakdown:

Category Count
Style 6

View more on Code Climate.

@MattKotsenas MattKotsenas enabled auto-merge (squash) August 1, 2024 20:51
@MattKotsenas MattKotsenas merged commit e32404f into rjmurillo:main Aug 1, 2024
6 checks passed
@rjmurillo rjmurillo added this to the vNext milestone Aug 1, 2024
@rjmurillo rjmurillo modified the milestones: vNext, v0.2.0 Aug 27, 2024
@MattKotsenas MattKotsenas deleted the feature/squigglecop branch October 23, 2024 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzers Change that impacts an analyzer behavior build dependencies Pull requests that update a dependency file documentation feature github_actions Pull requests that update GitHub Actions code releasable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add means to baseline analyzer and editorconfig rules
2 participants