Skip to content

Fix CI: Update GitHub Actions, fix issues, add test logging#45

Merged
ejc3 merged 6 commits intomainfrom
fix-ci
Dec 28, 2025
Merged

Fix CI: Update GitHub Actions, fix issues, add test logging#45
ejc3 merged 6 commits intomainfrom
fix-ci

Conversation

@ejc3
Copy link
Copy Markdown
Owner

@ejc3 ejc3 commented Dec 28, 2025

Summary

This PR fixes multiple CI issues and improves test debugging.

Changes

1. GitHub Actions Updates

  • actions/checkout@v4actions/checkout@v6 (14 occurrences in ci.yml, 3 in nightly.yml)
  • actions/upload-artifact@v4actions/upload-artifact@v6 (2 occurrences in ci.yml, 1 in nightly.yml)

2. CI Fixes

  • cargo fmt scope: Changed cargo fmt --all --check to cargo fmt -p fcvm -p fuse-pipe -p fc-agent --check
    • Root cause: --all was checking fuse-backend-rs (external dep) which has different formatting
  • Container duplicate mount: Fixed Makefile CONTAINER_RUN to use conditional TARGET_MOUNT
    • Root cause: Both CARGO_CACHE_DIR/target and /tmp/fcvm-container-target were mounting to same path

3. Test Logging

  • Added spawn_log_consumer_with_logger() functions to write VM test output to files
  • Updated 3 test files to use file logging:
    • test_fuse_in_vm_matrix.rs (pjdfstest)
    • test_fuse_copy_file_range_vm.rs
    • test_remap_file_range.rs
  • Logs written to /tmp/fcvm-test-logs/ and uploaded as CI artifacts

4. Timeout Increase

  • pjdfstest timeout: 600s → 900s (15 min)
  • Reason: skopeo import takes ~6 min on x86_64

5. Documentation

  • Updated CLAUDE.md with PR-required workflow
  • Main branch now protected (requires PR to merge)

Test Evidence

Lint job passes (cargo fmt fix):

Check formatting... OK
Clippy... OK  

Container job passes (mount fix):

==> Running unit tests in container...
podman run --rm --privileged -v .:/workspace/fcvm \
  -v /tmp/fcvm-container-target:/workspace/fcvm/target ...
# No "duplicate mount destination" error

Logs appear in artifacts:

/tmp/fcvm-test-logs/pjdfs-vm-chmod-*.log
/tmp/fcvm-test-logs/pjdfs-vm-unlink-*.log
...

Files Changed

File Change
.github/workflows/ci.yml Actions v6, fmt fix
.github/workflows/nightly.yml Actions v6
Makefile Conditional TARGET_MOUNT
tests/common/mod.rs Add logger functions
tests/test_fuse_in_vm_matrix.rs File logging, 900s timeout
tests/test_fuse_copy_file_range_vm.rs File logging
tests/test_remap_file_range.rs File logging
.claude/CLAUDE.md PR workflow docs

Supersedes Dependabot PRs #6 and #7.

- actions/checkout: v4 → v6
- actions/upload-artifact: v4 → v6
- Fix cargo fmt to only check workspace packages (not external deps)
- Fix duplicate target mount when CARGO_CACHE_DIR is set

Supersedes Dependabot PRs #6 and #7.
- Add spawn_log_consumer_with_logger functions to write test output
  to /tmp/fcvm-test-logs/ for CI artifact debugging
- Update test_fuse_in_vm_matrix.rs to use file logging
- Update test_fuse_copy_file_range_vm.rs to use file logging
- Update test_remap_file_range.rs to use file logging
- Increase pjdfstest timeout from 600s to 900s (15 min)
  to account for ~6 min skopeo import on x86_64

Now all VM tests write logs to files that are uploaded as CI artifacts.
@ejc3 ejc3 changed the title Update GitHub Actions to v6 Fix CI: Update GitHub Actions, fix issues, add test logging Dec 28, 2025
ejc3 added 4 commits December 28, 2025 21:07
Main branch is now protected - all changes must go through PRs.
Added quick reference table for common git/gh commands.
PRs must include actual evidence that changes work:
- Before/after output for fixes
- Actual test commands and results
- Not vague claims like 'tested and works'
- Local test output is good evidence (don't need CI first)
- Be reasonable about detail level
- Simpler examples
Container job passes. Host job fails because:
- Inception tests need ARM64 FEAT_NV2 (nested virt)
- pjdfstest has slow skopeo import + shutdown hangs
- Various rootless tests fail on x86_64

Tested: Container job passed in run 20559660080
@ejc3 ejc3 merged commit 739bd6e into main Dec 28, 2025
4 checks passed
@ejc3 ejc3 deleted the fix-ci branch December 31, 2025 17:47
ejc3 added a commit that referenced this pull request Mar 2, 2026
Fix CI: Update GitHub Actions, fix issues, add test logging
ejc3 added a commit that referenced this pull request Mar 2, 2026
Fix CI: Update GitHub Actions, fix issues, add test logging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant