Commit Graph

26 Commits

Author SHA1 Message Date
Daniel Hofstetter 18fa3ee18e ci: fix coverage 2026-04-03 10:36:55 +02:00
Sylvestre Ledru f1656a7b57 Merge pull request #140 from oech3/pub-main
publish binary from main
2026-04-03 09:38:57 +02:00
renovate[bot] 779680b9e6 chore(deps): update dawidd6/action-download-artifact action to v20 2026-04-03 07:15:40 +02:00
oech3 10e9f60d89 publish binary from main 2026-04-02 23:57:28 +09:00
oech3 5eb84dd1c6 GnuTests: support any build profile 2026-04-02 16:50:50 +02:00
oech3 7400c3954a GnuTests: Use pre-installed rust for faster setup 2026-04-02 16:42:05 +02:00
renovate[bot] 4621eb987e chore(deps): update github artifact actions 2026-03-30 07:40:03 +02:00
renovate[bot] ae15434bcf chore(deps): update dawidd6/action-download-artifact action to v19 2026-03-30 07:39:13 +02:00
renovate[bot] 09dad069d5 chore(deps): update actions/checkout action to v6 2026-03-30 07:38:24 +02:00
Jeff Bailey 2b5a760d7e Pump action version to match Coreutils 2026-03-29 15:41:16 +00:00
Jeff Bailey 87120ae1d1 ci: remove preinstalled apt packages and use command -v for tool detection
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.
2026-03-29 15:28:17 +00:00
Jeff Bailey 26d7a01037 ci: fix log compression glob for GNU tar's autotest structure
Individual test logs are at tests/testsuite.dir/NNN/testsuite.log
(two levels deep), not one level deep. Replace the failing shell
glob with find -mindepth 2, and update the upload path to match.
2026-03-29 15:23:39 +00:00
Jeff Bailey ff6be279d5 ci: clean up GNU test workflows and optimize utility scripts
- Remove redundant comparison script
- Fix missing artifact upload for PR comments
- Optimize GNU log extraction and build bootstrapping
- Standardize workflow paths and environment variables
2026-03-29 15:16:11 +00:00
Jeff Bailey be5b4923aa ci: implement GNU test result aggregation and comparison
- 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
2026-03-29 15:16:11 +00:00
Jeff Bailey 55f72b555d GitHub Actions workflow for running GNU tar tests
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.
2026-03-29 15:16:11 +00:00
oech3 7a1849388c ci.yml: dedup env: 2026-03-28 13:40:07 +01:00
renovate[bot] 7657e21233 chore(deps): update codecov/codecov-action action to v6 2026-03-27 07:23:39 +01:00
Daniel Hofstetter 464f265ee3 ci: remove (almost) duplicate fmt job 2026-02-09 15:22:18 +01:00
oech3 f9ef5886d8 Use preinstalled rust & stop incremental build 2026-02-09 15:06:38 +01:00
Jeff Bailey aa5fb1a952 Implement minimal create and extract operations (#35)
* Implement minimal create and extract operations

Adds basic tar archive functionality using tar-rs library with proper
error handling infrastructure.

Core Implementation:
- TarError enum implementing UError for uucore integration
- Extract operation (-x) for unpacking tar archives
- Create operation (-c) for creating tar archives from files/directories
- Verbose mode (-v) for both operations
- Proper CLI argument parsing with -f flag for archive file

Error Handling:
- Comprehensive error types (IoError, InvalidArchive, FileNotFound, etc.)
- Proper error conversion from io::Error
- UError trait implementation for exit code handling

This provides the minimal foundation for tar functionality. Both create
and extract are included together since they depend on each other for
testing purposes.

Includes 18 tests total:
- 8 integration tests (CLI basics, create/extract operations, error handling)
- 10 unit tests (CLI flag parsing, error type handling)
- Unit tests organized in src/uu/tar/tests/ separate from implementation

Note: Run `cargo test --workspace` to execute all tests including unit tests.

* Re-add cognitive complexity warning suppression for uu_app function

* Sort out tar/tarapp conflict

Rename package from "tar" to "tarapp" in Cargo.toml and update
dependencies to use workspace for tar.

* fix(errors): improve error handling and exit codes for tar operations

- Updated error messages for file not found and permission denied cases.
- Fix exit codes for various TarError types to conform to standard.
- Refactored extract_archive to use new error handling.
- Adjusted tests to reflect updated exit codes.

* Update for error changes (fixes cargo test --all)

* Use arg! macro and comment out rather than remove the unimplemented items.

* fix(create): Remove duplicate message for missing files in create_archive

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-11-22 09:54:00 +01:00
renovate[bot] 5f8a81f33e chore(deps): update actions/checkout action to v6 2025-11-20 18:32:23 +00:00
renovate[bot] 98a5615612 chore(deps): update actions/checkout action to v5 2025-10-21 08:22:07 +00:00
Daniel Hofstetter c3aded435e ci: fix package name in lint job 2025-10-21 10:03:53 +02:00
renovate[bot] ce7d6f30be chore(deps): update mozilla-actions/sccache-action action to v0.0.9 2025-03-27 10:08:27 +00:00
renovate[bot] 04f95163d3 chore(deps): update mozilla-actions/sccache-action action to v0.0.8 2025-03-07 15:50:17 +00:00