The GNU tar CI job depends on git.savannah.gnu.org, which can fail
transiently during clone or submodule setup. Retry those network-dependent
setup steps with exponential backoff before failing the job.
Keep cleanup scoped to failed clone attempts, fail early if path_GNU already
points at a non-git directory, and tighten the helper script with pipefail and
shellcheck-clean quoting.
The GNU tar test suite's version.at (test 1) creates a .badversion
file when `tar --version` doesn't match the expected GNU tar output.
This causes AT_XFAIL_IF to mark every subsequent test as "expected
failure", hiding real results — all tests appear as XFAIL instead of
actual PASS or FAIL.
Fix this by:
- Generating the testsuite script first via `make -C tests testsuite`
- Patching it to redirect the .badversion write to /dev/null
- Removing any stale .badversion before running
- Touching src/tar after copy to prevent make from relinking it
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove autoconf, bison, texinfo, gcc, g++, and jq from apt-get install
since they are preinstalled on the ubuntu-24.04 runner image.
Replace the OSTYPE case block in run-gnu-test.sh with command -v probing
for MAKE, NPROC, and READLINK, as suggested by @oech3.
- Add extraction of GNU test results into JSON artifacts
- Add aggregation job to summarize results and compare against reference
- Enable continue-on-error for GNU tests to allow workflow completion on failures
- Align log compression and upload behavior with coreutils CI
This checks out GNU tar and runs its test suite
against our built tar binary.
The hooks in autotest aren't working correctly,
so we manually overwrite the built binary with
our generated binary for testing.