chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.78k stars 418 forks source link

Running `make docs` twice fails to report warnings / generate an error #19599

Open bradcray opened 2 years ago

bradcray commented 2 years ago

When our use of make docs / chpldoc was changed to incrementally rebuild only module documentation that had been changed since its last run, it also sweeps errors under the rug if the files containing the errors are not edited between runs.

As an example:

One effect of this is that you can think you have a clean build of the docs on your desktop, only to have it fail once docs are built in a PR's CI process. For example, you only fix some of the errors, not all, rebuild and get a clean report even though the build is not. Another problematic case is when the file where the fixes were implemented gets recompiled, but the file in which the error was actually reported does not.

To fix this, presumably the logic that implements the incremental rebuilds would need to be updated to always recompile files that generate warnings.

bradcray commented 2 years ago

The workaround for this is to cd doc && make clobber before running your next make docs.

lydia-duncan commented 2 years ago

Another work-around is to edit all the files that have errors (but seriously, that's disappointing)

bradcray commented 2 years ago

Another work-around is to edit all the files that have errors (but seriously, that's disappointing)

Meh... How I usually hit this is:

lydia-duncan commented 1 year ago

I had this crop up today when making the channel deprecation - because I hadn't edited the URL module, make docs didn't realize it needed to rebuild that file and so didn't tell me there were errors in it until the clean CI check failed