pcp icon indicating copy to clipboard operation
pcp copied to clipboard

Fix local CI: Dynamic task lists and aarch64 support

Open tallpsmith opened this issue 1 month ago • 2 comments

Summary

This PR fixes several issues identified during local CI testing on macOS ARM64:

  • Support dynamic task lists in reproduce command (enables --until qa_sanity)
  • Add Ubuntu 24.04 'any' architecture package list for aarch64 detection
  • Fix container .git detection (replace worktree pointer with directory for Makepkgs)
  • Add task validation with helpful error messages

Changes

  • build/ci/ci-run.py:

    • Dynamic task discovery from platform YAML instead of hardcoded list
    • Proper validation of --until parameter
    • Container setup ensures .git directory exists for Makepkgs detection
  • qa/admin/package-lists/Ubuntu+24.04+any:

    • New package list for 'any' architecture variant of Ubuntu 24.04
    • Enables aarch64 builds on ARM64 macOS

Testing

Local testing on macOS M4 Pro ARM64 with --quick mode and --until qa_sanity parameter.

Full QA test run validation in progress to confirm end-to-end functionality.

tallpsmith avatar Dec 10 '25 04:12 tallpsmith

Update: Git Directory Copying Fix Verified

Build test successful!

The latest commit () replaces the Reinitialized existing Git repository in /Users/psmith/dev/pcp/pcp-local-ci/.git/ band-aid fix with a proper solution: copying the complete directory structure to the container.

What was fixed:

  • Changed from partial copy () to full copy including hidden files ()
  • This ensures Makepkgs has access to the full git repository for:
    • git status (checking for changes)
    • git checkout (restoring VERSION.pcp)
    • git archive / git ls-files (creating source tarballs)

Test Results:

  • ✅ Container built successfully
  • ✅ PCP sources with complete .git directory copied to container
  • ✅ QA packages installed (45 minutes)
  • ./Makepkgs ran without git repository errors
  • ✅ .deb packages created successfully
  • ✅ Total build time: 17 minutes

This fix is compatible with clean git checkouts (not worktrees). The previous worktree-specific issues should now be resolved.

tallpsmith avatar Dec 10 '25 06:12 tallpsmith

Update: Git Directory Copying Fix Verified

Build test successful! ✅

The latest commit replaces the git init band-aid fix with a proper solution: copying the complete .git directory structure to the container.

What was fixed:

  • Changed from partial copy (podman cp path/) to full copy including hidden files (podman cp path/.)
  • This ensures Makepkgs has access to the full git repository for:
    • git status (checking for changes)
    • git checkout (restoring VERSION.pcp)
    • git archive / git ls-files (creating source tarballs)

Test Results:

  • ✅ Container built successfully
  • ✅ PCP sources with complete .git directory copied to container
  • ✅ QA packages installed
  • ✅ ./Makepkgs ran without git repository errors
  • ✅ .deb packages created successfully
  • ✅ Total build time: 17 minutes

This fix is compatible with clean git checkouts (not worktrees).

tallpsmith avatar Dec 10 '25 06:12 tallpsmith