## [why]
Compiler and clippy warnings will change over time. To avoid build failures due to some
updated allow/warn categories for more future rust versions, the tests using the
toolchain utilities are converted to a form which will always "pass" but will push any
errors/warnings to the GHA UI as annotations.
Additional build-breaking tests utilizing more stable tools (or local scripts) can be
added at a later date if/when desired.
This should prevent CI failures for already known-working builds.
## [why]
Code coverage must currently use some unstable features in nightly rust builds. The
nightly builds are, by definition, unstable and subject to frequent breaking changes.
To prevent CI build breakage, the toolchain is pinned to a specific known working set.
Note: (maint!) this will require periodic review until code coverage is more fully
implemented/integrated into Rust and moved into the stable channel.
- refs: <https://github.com/mozilla/grcov/issues/427>, <https://github.com/newsboat/newsboat/issues/916>
.## [why]
Reorganizing and minor renaming of features within *Cargo.toml* will hopefully
help to place new utilities into the best feature set, encouraging the
"universal" / cross-platform aspect of the project.
"feat_require_..." sets are used to segregate utilities with restrictions limiting
cross-platform availability and are annotated with the reasons for the limitations.
- 10 minutes to CI success/failure response from Travis CI (approx median time); down from 60 minutes
.# [why]
Most of the testing done on Travis CI is redundant with that done in the GHA:CICD.
With prior settings, Travis CI was taking about an hour (median) to report success/failure.
In contrast, the GHA:CICD workflow usually completes in about 13 minutes (median).
Travis CI job times are highly variable taking between 3 and 20 minutes per build.
Builds are run with some parallelism, and a report is submitted as soon as the
non-"allow failure" jobs are completed.
- 13 minutes to CI success/failure response from AppVeyor (approx median time); down from 45 minutes
.# [why]
Most of the testing done on AppVeyor is redundant with that done in the GHA:CICD.
With prior settings, AppVeyor was taking about 40 minutes to an hour (median ~ 45
minutes) to report success/failure. In contrast, the GHA:CICD workflow usually completes
in about 13 minutes (median).
AppVeyor job times are approximately 5 to 8 minutes per build and are done sequentially
with no report until all build jobs are complete (whether "allow failure" or not).