Skip to content

[CAS] Add caching diagnostic processor #65423

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

Conversation

cachemeifyoucan
Copy link
Contributor

@cachemeifyoucan cachemeifyoucan commented Apr 25, 2023

Add a CachedDiagnosticsProcessor that is a DiagConsumer can capture all the diagnostics during a compilation, serialized them into CAS with a format that can be replayed without re-compiling.

This is also tested via default all the diagnostics to capture and replayed via CachedDiagnosticsProcessor and pass all the tests.

@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

Copy link
Contributor

@benlangmuir benlangmuir left a comment

Choose a reason for hiding this comment

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

This is also tested via default all the diagnostics to capture and replayed via CachedDiagnosticsProcessor and pass all the tests.

To clarify, is this something that is always happening, or something you did manually?

@cachemeifyoucan
Copy link
Contributor Author

This is also tested via default all the diagnostics to capture and replayed via CachedDiagnosticsProcessor and pass all the tests.

To clarify, is this something that is always happening, or something you did manually?

Manually, we can also leave a switch in there for testing purpose. There isn't a good way to dup all tests with a different configuration to have this always on and probably very expensive.

@benlangmuir
Copy link
Contributor

Okay, I would like to see more explicit test coverage then for different kinds of diagnostics (notes, errors, educational notes, if there are any "stack" output similar to clang's include stacks), different output format (.diag file, stderr, different formatting options for the stderr output).

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-cached-diagnostics-processor branch from 762b106 to 608c58f Compare April 27, 2023 16:35
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-cached-diagnostics-processor branch from 608c58f to 7ca2548 Compare April 27, 2023 18:58
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

Add a CachedDiagnosticsProcessor that is a DiagConsumer can capture all
the diagnostics during a compilation, serialized them into CAS with a
format that can be replayed without re-compiling.
@cachemeifyoucan cachemeifyoucan force-pushed the eng/PR-cached-diagnostics-processor branch from 7ca2548 to d3891a8 Compare April 27, 2023 20:37
@cachemeifyoucan
Copy link
Contributor Author

@swift-ci please smoke test

@cachemeifyoucan
Copy link
Contributor Author

ping

@cachemeifyoucan cachemeifyoucan merged commit e5c3b3f into swiftlang:main May 9, 2023
@cachemeifyoucan cachemeifyoucan deleted the eng/PR-cached-diagnostics-processor branch May 9, 2023 19:26
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.

3 participants