By default, artifacts are only downloaded from the latest successful
workflow, meaning that, if the compat tests regressed, then it is
impossible to compare against the new current state. This isn't a
perfect solution, but I believe it should by far be "good enough" for
these purposes.
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
This includes much of the core xargs functionality, with the following
notable exceptions:
- Parallel execution (`-P`): This option currently just does
nothing, that way anything that passes -P can at least run without a
notable behavior shift (other than simply being slower).
- Replacement strings (`-I`): This can easily be worked around via an
intermediate shell invocation (e.g. `xargs -L1 sh -c 'do-things-with
$@' --`).
- EOF strings (`-E`): I've honestly never seen this actually used,
though it would not be particularly difficult to implement given the
current architecture.
Closes#37
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
Depending on onig ends up requiring proc_macro2, but the version that
was in the lockfile breaks the build if panic=abort is used (which is
done for coverage checks). This was fixed in 1.0.30+ for Rust 1.57+, so
update to that version.
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
This adds support for -regextype, -regex, and -iregex, using Oniguruma
to implement support for the Emacs, grep, POSIX basic, and POSIX
extended regex types.
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
This adds the rest of the compatibility test workflow, in order to
automatically run against the GNU findutils & BFS test suites as part of
standard CI and compare the results to the latest from the 'main'
branch.
Closes#128
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
This is the first half of the needed changes to set up automated
compatibility tests against GNU findutils and bfs, handling the uploads
of the build logs and JSON results. The workflow itself is heavily based
on the one from uutils/coreutils:
https://github.com/uutils/coreutils/blob/main/.github/workflows/GnuTests.yml
but with various cleanups & tweaks to better suit findutils.
This does *not* include the actual regression comparisons, because those
will only pass once archives of these files are up on the main branch.
Ref #128
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>