The GitHub Actions job "C++ Linter" on iceberg-cpp.git/ExpireSnapshots has failed. Run started by GitHub user shangxinli (triggered by shangxinli).
Head commit for run: a2c5e857bec64827b50fc2a96ef855b13a63b5db / Xinli Shang <[email protected]> feat: add ExpireSnapshots following 3-goal update pattern Add ExpireSnapshots as a concrete implementation in iceberg/update/ directory, following the 3-goal architecture for table updates. Goals accomplished: 1. TableMetadataBuilder::RemoveSnapshots() methods exist 2. table::RemoveSnapshots TableUpdate class exists 3. Expose via Table::ExpireSnapshots() and Transaction::ExpireSnapshots() Implementation details: - ExpireSnapshots extends PendingUpdateTyped<vector<shared_ptr<Snapshot>>> - Fluent API with builder methods: ExpireSnapshotId, ExpireOlderThan, RetainLast, DeleteWith, SetCleanupLevel - Table::ExpireSnapshots() factory method creates instances - Transaction::ExpireSnapshots() interface method added - Organized in src/iceberg/update/ subdirectory structure Builder methods: - ExpireSnapshotId: Mark specific snapshots for removal by ID - ExpireOlderThan: Expire snapshots older than timestamp - RetainLast: Keep N most recent snapshots - DeleteWith: Custom file deletion callback - SetCleanupLevel: Control cleanup scope (None/MetadataOnly/All) Apply() and Commit() have placeholder implementations that will be completed when snapshot expiration logic is fully implemented. Report URL: https://github.com/apache/iceberg-cpp/actions/runs/19776147096 With regards, GitHub Actions via GitBox
