Create a developer build which does address santizer, doxygen build, warning check, code coverage, and Debug build. Turn these settings off in all other builds. Use develop branch of all required NCEPLIBS libraries and the latest version of jasper.
Create a linux_versions workflow that checks with different versions of dependencies.
Create a linux_settings workflow that tests different build options with the most recent versions of dependencies.
Use ubuntu-latest/macos-latest everywhere.
Use caches everywhere they can be used.
Build only on PR and exempt README.md.
Code coverage and documentation build done only on developer build. Make sure these are not installed on any other CI workflows.
Ensure that all workflows are required to pass (i.e. in the develop branch protection rules in the repo's settings).