Commit graph

454 commits

Author SHA1 Message Date
Roy Ivy III 37a3c68f3a maint/CICD ~ (GHA) add style fault configurability (fail vs warn)
- add individual job-step control for 'style' step faults (build failure vs only a warning)
2021-11-19 17:55:01 -06:00
Roy Ivy III c951806e70 maint/CICD ~ (GHA) fix cargo clippy lint
- fixes conversion of new `cargo clippy` output style to GHA annotations

## [why]

`cargo clippy` output formatting changed, using relative instead of absolute paths.
2021-11-19 17:55:01 -06:00
Sylvestre Ledru c0af58881e remove some unused codecov declarations 2021-11-16 10:10:30 +01:00
Tom Parker-Shemilt 0c33905e60 Fix FreeBSD build by downgrading MacOS version 2021-11-02 18:56:01 +00:00
Sylvestre Ledru 7eaae75bfc add a github action job to identify unused deps 2021-09-15 12:06:50 +02:00
Sylvestre Ledru 7acdf31e2b freebsd: also fails the script when the tests fail 2021-09-05 18:54:43 +02:00
Michael Debertol 1e78a40e20 CICD: use nightly rust for code coverage 2021-08-30 23:13:31 +02:00
Sylvestre Ledru 3ed74df4a6 Update to freebsd-vm@v0.1.5 2021-08-29 18:35:08 +02:00
Jan Verbeek ea16cc72c7
Make clippy workspace selection more finegrained (#2598)
* Make clippy workspace selection more finegrained

* fixup! Make clippy workspace selection more finegrained

* fixup! Make clippy workspace selection more finegrained

* fixup! Make clippy workspace selection more finegrained

* fixup! Make clippy workspace selection more finegrained

* fixup! Make clippy workspace selection more finegrained
2021-08-25 01:41:25 +02:00
Jan Verbeek d06c074829 Run clippy on the full workspace
These lints were cluttering up the "problems" tab in my VS
Code. `--workspace` fixes the disparity.
2021-08-24 17:10:16 +02:00
Sylvestre Ledru 86c610a84b enable freebsd in the CI on gh actions
and use --features feat_os_unix (wasn't done before)
2021-08-24 09:32:18 +02:00
James Robson 882b5ad1f1 Display changes in the failing GNU tests
Co-authored-by: Michael Debertol <michael.debertol@gmail.com>
2021-08-10 19:29:23 +01:00
James Robson 81a5f0a4dc Add step to GnuTest workflow to compare results against master 2021-08-10 19:29:23 +01:00
Jan Scheer 010565c8fb
Merge branch 'master' into id_selinux_context 2021-08-02 10:40:45 +02:00
Sylvestre Ledru f34505df54 bump the minimal version for coverage to 1.52
Drivers:
https://github.com/rust-lang/rust/issues/71395
https://github.com/rust-lang/rust/pull/80470
needed by grcov
2021-07-30 14:54:45 +02:00
Jan Scheer 6111cd6e1b
id: add note about conditional compiling to README section 2021-07-13 14:38:46 +02:00
Jan Scheer 7abc6a665e
id: add conditional compilation for selinux 2021-07-13 00:22:10 +02:00
Jan Scheer e53f4db33a Merge branch 'master' into id_selinux_context 2021-07-06 13:29:50 +02:00
Sylvestre Ledru bd0ca4513e
update min rust to 1.51
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2021-06-27 07:52:07 +02:00
Sylvestre Ledru f421761333
Merge pull request #2448 from sylvestre/gnu-fail-early
CI/GNU: if an error is detected, don't generate the json file
2021-06-24 10:23:25 +02:00
Roy Ivy III 42fed9186d maint/docs ~ add ToDO for change from cargo-tree to cargo tree 2021-06-23 12:03:35 -05:00
Roy Ivy III 17a959853e maint/CICD ~ suppress useless rustup notices 2021-06-23 10:05:49 -05:00
Roy Ivy III 8884666ce0 maint/CICD ~ fix dependency display errors (relax network lockout) 2021-06-23 10:00:27 -05:00
Sylvestre Ledru 34db1c5916
Simple dash, not double 2021-06-22 18:03:12 +02:00
Sylvestre Ledru ed8d390ca7 CI/GNU: if an error is detected, don't generate the json file
Avoid to generate incorrect json files
2021-06-22 14:32:26 +02:00
Jan Scheer f1d317147b id: add support for showing SELinux context (--context/-Z) 2021-06-20 13:44:41 +02:00
Roy Ivy III b4a06cfdba maint/CICD ~ refactor; improve logging for outputs shell script 2021-06-19 18:40:22 -05:00
Sylvestre Ledru 2cb97c81ed maint/CICD ~ add GHA 'FixPR' to auto-fix issues for merging PRs
- auto-fix formatting
- auto-fix incompatible/out-of-date 'Cargo.lock'
2021-06-19 18:40:22 -05:00
Roy Ivy III dd46c2f03b maint/CICD ~ (GHA) rename 'GNU' workflow to 'GnuTests' 2021-06-19 18:37:13 -05:00
Roy Ivy III 5682cf3032 maint/CICD ~ (GHA) update 'GNU' workflow
- show dashboard warnings only when tests FAIL or ERROR
- improve comments
- fix spelling and spelling exceptions
2021-06-19 18:37:13 -05:00
Roy Ivy III 92630a0690 maint/CICD ~ (GHA) add 'Style/dependencies' checks 2021-06-19 18:37:13 -05:00
Roy Ivy III db621c7d7a maint/CICD ~ (GHA) change/refactor CICD (convert most warnings to errors)
- adds additional instruction to error message showing how to fix the error
2021-06-19 18:37:13 -05:00
Roy Ivy III 298851096e maint/CICD ~ (GHA) remove deprecated 'ubuntu-16.04' environment 2021-06-19 18:37:13 -05:00
Sylvestre Ledru 90bf26a51c maint/CICD ~ (GHA) update to checkout@v2 2021-06-19 18:37:13 -05:00
Jan Scheer 39aa5312ed id/tests: skip tests for multiple_user feature if there's not at least coreutils id version 8.31 in $PATH 2021-06-16 23:52:55 +02:00
Jan Scheer 54cbb69d37 id/tests: fix tests if run on macOS 2021-06-16 19:16:29 +02:00
Jan Scheer 052202ca19 Merge branch 'master' into id_zero_2351 2021-06-13 11:30:43 +02:00
Jan Scheer 60124b8fbd CICD/GNU: only run/compile tests for id 2021-06-13 10:09:24 +02:00
Roy Ivy III 2ff46a78b1 maint/CICD ~ summarize BusyTest output for dashboard 2021-06-06 19:28:25 -05:00
Roy Ivy III c192550f22 refactor ~ polish spelling + add spelling exceptions 2021-06-06 19:28:22 -05:00
Roy Ivy III 114844d9cd maint/CICD ~ refactor; use a shell script (outputs) for step outputs 2021-06-06 19:17:18 -05:00
Roy Ivy III 4d5880f098 maint/CICD ~ temporarily disable failing tool cache for actionrs/install
# [why]

The tool cache is currently failing and seems to be getting further behind current
versions. The [actions-rs/install#12] issue addresses this but seems to be
languishing without any proposed solution.

[ref]: <https://github.com/actions-rs/install/issues/12>
2021-06-06 19:16:50 -05:00
Michael Debertol 8de42ed18e maint: actually run spellcheck on all files
**/* must be quoted, otherwise it is expanded by the shell and not
literally passed to cspell.
2021-05-31 22:40:12 +02:00
Roy Ivy III 691f03b9ae maint/CICD ~ improve visibility of spell check during testing 2021-05-31 08:23:58 -05:00
Roy Ivy III c392cd1cb4 maint/CICD ~ cspell-check all repository files 2021-05-31 08:23:58 -05:00
Roy Ivy III 3140be7c1b docs/CICD ~ add spell-checker exceptions 2021-05-31 08:23:58 -05:00
Jan Scheer 141a92c965 CI: set clippy targets to 'all' 2021-05-30 10:13:31 +02:00
Sylvestre Ledru 6e1a68ce9a
Merge pull request #2298 from jhscheer/fix_clippy
Major clippy overhaul.
2021-05-29 23:23:26 +02:00
Michael Debertol 4058caa3e6 maint: add spell checker to CICD 2021-05-29 22:30:02 +02:00
Jan Scheer 52ea9c4a48 CI: set MSRV and "--target" for clippy
* add "clippy.toml" in order to set MSRV for clippy linting
    this works only if clippy is invoked with "+nightly"
* add "--target" to clippy in order to also lint tests
2021-05-29 14:21:32 +02:00
Terts Diepraam 052ee22ce0 Bump MSRV to 1.43.1 2021-05-27 18:20:15 +02:00
Sylvestre Ledru 1860e61f83 Workaround the Windows CI install issue.
Fails trom time to time with:
```
info: installing component 'rustc'
memory allocation of 16777216 bytes failed
Error: The process 'C:\Rust\.cargo\bin\rustup.exe' failed with exit code 3221226505
```

on  Build (windows-latest, i686-pc-windows-gnu, feat_os_windows)
2021-05-23 10:35:46 +02:00
Sylvestre Ledru 9f0ef3ba54 gnu/ci: also store the hash in the json 2021-05-22 21:59:54 +02:00
Sylvestre Ledru 4d3be19de3
Merge pull request #2240 from jhscheer/macos_test_coreutils
who/stat/pinky: adjust tests to be compatible with running on macOS
2021-05-22 12:39:05 +02:00
Sylvestre Ledru adaba54026 gnu/ci: move the operations into script to run them locally 2021-05-22 09:33:15 +02:00
Sylvestre Ledru 73b47b8c76 gnu/ci: install the dep into a separate task 2021-05-21 18:33:05 +02:00
Jan Scheer 6ed080cf97 CICD: install GNU coreutils on macOS (Code Coverage) 2021-05-21 12:39:48 +02:00
Sylvestre Ledru 52a7e07b3e
Merge pull request #2226 from nbraud/pin-GNU-tests
CI: Stabilise the version of GNU tests used in CI
2021-05-20 16:30:32 +02:00
Sylvestre Ledru 0c6a848314
gnu results: also add the date (#2236) 2021-05-19 20:33:28 +02:00
Sylvestre Ledru 7bf342fa52 publish the results of the gnu testsuite as a json file too 2021-05-18 23:05:49 +02:00
Jan Scheer dc93f29fe3 CICD: install GNU coreutils on macOS 2021-05-17 22:22:18 +02:00
Sylvestre Ledru 047d775e5e gh action: fix the GNU testsuite job 2021-05-17 21:24:58 +02:00
nicoo f46b119493 CI: Stabilise the version of GNU tests used in CI
The “GNU tests” task is routinely broken on `master`.
Broken CI is worse than no CI, as it teaches people to ignore errors.

This PR pins the versions of the GNU testsuite (and GNUlib) used,
to current stable versions, so this task stops breaking unexpectedly.

Presumably, someone will update `GNU.yml` when a new stable version
of the GNU coreutils is released, but I'm not volunteering.
2021-05-17 21:07:05 +02:00
jaggededgedjustice fb2ae04b8f
Remove broken GNU test for printf (#2095) 2021-04-21 14:22:05 +02:00
ReggaeMuffin 3bfb1afe5c
uucore: Start testing uucore
Before this change we never ran tests on uucore itself
meaning that is was not possible to test
functions of the shared core, only their usage
in the different binaries

This change adds running uucore to our ci, which will increase coverage for the few doctests that exist

and is extracted from #1988 where first tests for uucore will be introduced
2021-04-05 16:16:00 +01:00
Sylvestre Ledru 2ef1b25d85 Create a new job to test make build 2021-04-02 23:30:24 +02:00
jaggededgedjustice 88d0bb01c0
Add shuf tests (#1958)
* Add tests for shuf

* Fixup GNU tests for shuf
2021-03-28 17:52:01 +02:00
Sylvestre Ledru f431f58dd8
Bump min rustc to 1.40 (#1909) 2021-03-25 15:28:47 -07:00
James Robson 56da6b4a2c Fix test setup 2021-03-22 17:48:12 +00:00
James Robson 027d5e6d9d Fix yaml syntax 2021-03-21 22:31:15 +00:00
James Robson 40677bdc7a Fix more problems with utils that aren't being tested 2021-03-21 20:49:15 +00:00
James Robson 0f77b54aeb Fix typo 2021-03-21 15:11:48 +00:00
James Robson 4352d47ac3 Don't fail the job if test-suite.log is missing 2021-03-21 14:45:34 +00:00
James Robson 0a661a6da2 Remove use of which to set system binaries 2021-03-20 22:15:47 +00:00
James Robson c804ec3ba3 Merge branch 'master' into polish-gnu-tests 2021-03-18 20:59:41 +00:00
Theophile Trunck 0ac5dbe44d Add CICD for busytest 2021-03-14 20:30:53 +01:00
James Robson 570e456496 clean up workflow script 2021-03-14 15:59:17 +00:00
James Robson 7c219fd128 clean up sed commands 2021-03-14 15:34:22 +00:00
James Robson d8c3d1d51d Use system utils 2021-03-14 15:32:30 +00:00
James Robson 78ec6d1e5a Revert "Revert "Remove unbuffer""
This reverts commit 8dae8b798a.
2021-03-06 21:24:28 +00:00
James Robson 64e0b0018a Merge branch 'master' into polish-gnu-tests 2021-03-06 16:51:33 +00:00
James Robson 8dae8b798a Revert "Remove unbuffer"
This reverts commit bbce179115.
2021-03-06 16:35:22 +00:00
James Robson b098bd5ec2 Fix tests still failing for the wrong reason 2021-03-05 21:40:16 +00:00
James Robson e42479b79b fail tests for any binary not built 2021-03-04 20:50:57 +00:00
James Robson 3b93995132 generate all factor scripts 2021-03-04 19:11:38 +00:00
James Robson 20082971be Use system sha1sum in factor tests 2021-03-04 17:33:31 +00:00
James Robson a395af7ee7 Create *sum binaries for tests 2021-02-27 14:35:31 +00:00
James Robson bbce179115 Remove unbuffer
This causes the make process to hang for some reason, and it itsn't providing any real advantage so it's taken out
2021-02-27 13:25:13 +00:00
James Robson 03619d867e More tight timeouts 2021-02-25 18:18:30 +00:00
James Robson 1cef9aa046 Add timeouts to other tests that hang 2021-02-24 17:47:30 +00:00
James Robson 4cca2b651a Keep producing logs even if make hangs 2021-02-24 17:28:20 +00:00
James Robson e89387c089 Try removing seq-precision 2021-02-23 19:49:11 +00:00
James Robson b19afebad8 Shorten the timeout on seq-precision 2021-02-23 09:58:06 +00:00
Chad Brewbaker bb54669a5d
Fix macOS aarch64 compile errors (#1724) 2021-02-23 10:25:06 +01:00
James Robson dc49415829 Stop seq-precision.sh causing jams in make 2021-02-22 19:29:45 +00:00
James Robson b92b88a822 Add 4 hour global timeout for protection 2021-02-22 19:29:00 +00:00
James Robson 16c8b3cbba Use system timeout command 2021-02-22 09:19:43 +00:00
James Robson 89f74948e0 Typo 2021-02-21 15:52:18 +00:00
James Robson 4e90de44cc Move timeout to per-test script
Move to a timeout applied to each script and re add the tests that are hanging so they show as failing
2021-02-21 15:51:03 +00:00
James Robson cebb58c5b4 Rename install for testing 2021-02-21 13:36:16 +00:00
James Robson f2013e47b3 Use which to find system utils 2021-02-21 11:14:14 +00:00
James Robson 910f6d102f Fix script name 2021-02-21 09:53:11 +00:00
James Robson b3dea739f4 Fix script name 2021-02-21 09:36:03 +00:00
James Robson a73c34c735 Stop tests failing on utils that aren't the focu of the test 2021-02-20 17:17:03 +00:00
James Robson eb8cdcf44a Re-add fixed test 2021-02-20 15:07:47 +00:00
Sylvestre Ledru 842b6dd75f Remove tests checking for --version & --help
Not really interesting for us and logs are too big
2021-02-13 19:31:47 +01:00
Sylvestre Ledru 091cdd6a8d
Extract the result of the GNU testsuite executions as a warning (#1718) 2021-02-11 15:42:41 +01:00
James Robson d4a30fdff0 Skip sort test that will hang 2021-02-04 18:42:43 +00:00
James Robson 4573ce44e1 Kill make on timeout so it can't delete the running log 2021-02-04 18:08:00 +00:00
James Robson 96219692a4 Archive logs 2021-02-03 21:43:34 +00:00
James Robson 7fe5a08b23 Use timeout to protect against hangs 2021-02-03 21:43:34 +00:00
James Robson 5808d56f12 Skip tests that hang 2021-02-03 21:43:34 +00:00
James Robson 84b0573f7d Fix $PATH in tests 2021-02-03 21:43:34 +00:00
James Robson 84965ad8c3 Use make to build all binaries 2021-02-03 21:43:34 +00:00
jaggededgedjustice 20046013fb
Cleanup gnu test script (#1701) 2021-01-21 23:56:02 +01:00
jaggededgedjustice 4eb6edaf52
Add gnu tests (#1699) 2021-01-21 08:19:08 +01:00
Roy Ivy III 07d52c7741 docs ~ add corrective spell-checker global exceptions 2020-11-08 20:00:11 -06:00
Roy Ivy III b6cafa9e10 fix ~ remove extraneous step within GHA MinRSV 2020-11-08 20:00:11 -06:00
Roy Ivy III daa5868da4 maint/CICD ~ add 'Cargo.lock' format testing and protection 2020-10-24 20:56:41 -05:00
Roy Ivy III 3a4f12c2fb maint/CICD ~ improve robustness of MinRustV package dependency calculation 2020-10-14 21:42:09 -05:00
Roy Ivy III 72a5d93a4d maint/CICD ~ remove old/unneeded grcov setup scripting 2020-08-19 09:13:09 -05:00
Roy Ivy III 63315747a5 maint/CICD ~ job naming improvement (decreased jargon) + feature name normalization 2020-08-16 17:02:19 -05:00
Roy Ivy III bb4b20db81 maint/CICD ~ use alternate grcov configuration recipe (direct CLI options)
- `ignore` and `excl-br-line` options used to target code coverage analysis
- direct/repeated (non-DRY) CLI options are used by necessity (`grcov` is ignoring command line env variables)
2020-08-16 17:02:19 -05:00
Roy Ivy III 9711e5ad42 maint/CICD ~ update CICD code coverage recipe 2020-08-10 10:20:15 -05:00
Roy Ivy III 1c9b12c0d2 maint/CICD ~ add individual uutil/sub-crate testing to CICD code coverage 2020-08-10 10:19:42 -05:00
Roy Ivy III 137b26def6 maint/CICD ~ add individual uutil/sub-crate testing to CICD 2020-08-10 10:19:41 -05:00
nicoo dc6b9a8d62
CI: Improve annotations (#1584)
* CI: Only run rustfmt in one environment

- This displays clippy warnings even when rustfmt fails.
- This avoids displaying 3 copies of the same rustfmt warning as Github
  annotations.
- Avoids duplicated work.

* CI: Suppress warnings when building for the oldest toolchain version

We had cases of warnings emitted due to `rustc` bugs that were fixed
in non-obsolete versions.

* factor: Remove a workaround for warnings on obsolete rustc
2020-08-10 16:53:32 +02:00
Roy Ivy III d3ef4bd7da maint/CICD ~ update 'actions/upload-artifact' to 'v2' 2020-07-25 11:09:10 -05:00
Roy Ivy III 51cb023cd7 maint/CICD ~ pass CI from environment to cross containers 2020-06-13 21:54:21 -05:00
Sylvestre Ledru 5926315507 bump the minimal version of rustc to 1.32 2020-06-08 22:54:28 +02:00
Sylvestre Ledru 78c04a254e refactor ~ rename MinSRV => MinRustV 2020-06-02 12:23:48 -05:00
Roy Ivy III 1d327d31c0 docs ~ add comments (based on PR feedback) 2020-06-01 09:10:21 -05:00
Roy Ivy III a7cbf6c9fd maint/CICD ~ remove cargo fmt gating for 'windows'
- unneeded after reorg
- but issue still remains; see GH:/rust-lang/rustfmt#3590
2020-05-30 01:16:21 -05:00
Roy Ivy III cc8a2be6f5 maint/CICD ~ add support for DPKG generation and extra ARM-CPU build targets 2020-05-30 01:15:35 -05:00
Roy Ivy III 16840f8cd4 maint/CICD ~ update GHA for 'coreutils' name change 2020-05-29 22:59:47 -05:00
Roy Ivy III d9de816757
maint/build ~ allow code coverage upload failures without breaking the build (warning instead of error) (#1526) 2020-05-25 22:47:42 +02:00
Sylvestre Ledru 157dc38492 quick fix(coverage): grcov arg 'output-file' has been renamed to 'output-path' 2020-05-13 11:01:41 +02:00
Roy Ivy III 7a64ad1ebc maint/CICD ~ add commentary for 'Style' warning output => annotation conversions 2020-05-02 23:12:50 -05:00
Roy Ivy III a57214fa10 maint/CICD ~ change 'Style' job to a more robust, "allow-failure"-type, state
## [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.
2020-05-02 17:02:25 -05:00
Roy Ivy III 312d9b9543 maint/CICD ~ fix coverage build failures by pinning to known-working nightly toolchain
## [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>
2020-05-02 16:53:08 -05:00
Roy Ivy III dfc0617a2e maint/CICD ~ update x86_64-pc-windows-gnu build target to 'stable' (for use with rust v1.43.0+) 2020-05-02 16:44:36 -05:00
Roy Ivy III 0ab6e6a19a maint/CICD ~ refactor MacOS feature use (aline with feature reorg) 2020-04-25 01:57:21 -05:00
Roy Ivy III 4813e97a71 maint/CICD ~ add work-around for absorption of cargo tree into cargo
- see [GH:rust-lang/cargo#8062](https://github.com/rust-lang/cargo/pull/8062) for more information
2020-04-15 10:10:40 -05:00
Roy Ivy III 0d355d1073 maint/CICD ~ enable testing for beta-x86_64-pc-windows-gnu to GHA:CICD 2020-04-15 10:09:48 -05:00
Roy Ivy III 58a0ed2a4f maint/CICD ~ show cargo tree tool version information during CICD 2020-04-15 10:08:30 -05:00
Roy Ivy III 48dd6a2c81 maint/CICD ~ improve code coverage process and tooling 2020-04-14 13:46:18 -05:00
Roy Ivy III aea98a40e0 maint/CICD ~ add cargo fmt style testing of tests 2020-04-14 00:07:00 -05:00
Roy Ivy III 7eeb58ae3a maint/docs ~ add spell-checker exceptions 2020-04-12 16:57:11 -05:00
Roy Ivy III ab9da0aa63 maint/CICD ~ fix GITHUB_REF parsing 2020-04-12 16:56:03 -05:00
Roy Ivy III 4cf8487053 maint/CICD ~ improve tooling info display and include build dependency info 2020-04-12 16:56:03 -05:00
Roy Ivy III 05c829471e maint/CICD ~ generalize README and LICENSE matches for use in dpkg builds 2020-04-12 16:56:03 -05:00
Roy Ivy III 69408fc8cc maint/CICD ~ fix MinSRV testing (use correct toolchain) 2020-04-12 16:56:03 -05:00
Roy Ivy III b57ee7e131 maint/CICD ~ fix features option for GHA 2020-04-12 16:56:03 -05:00
Roy Ivy III ebc29e813b maint/CICD ~ add GitHub:Actions (GHA) CICD 2020-04-11 18:50:09 -05:00