Skip to content

Enhance CI local test runner to use SPIRE overlay build system#194

Merged
ramkri123 merged 1 commit intolfedgeai:mainfrom
saiakhil2012:akhil/enhace-ci-local-test
Feb 17, 2026
Merged

Enhance CI local test runner to use SPIRE overlay build system#194
ramkri123 merged 1 commit intolfedgeai:mainfrom
saiakhil2012:akhil/enhace-ci-local-test

Conversation

@saiakhil2012
Copy link
Copy Markdown
Collaborator

Summary

Streamlines our integration testing by aligning test_control_plane.sh with the SPIRE overlay build architecture. This enhancement ensures seamless testing workflows in both CI and local development environments without requiring CI-specific workarounds.

Motivation

As we've modernized our SPIRE integration to use the overlay system (introduced in commit dba010be), our testing infrastructure needed alignment to work naturally with the new build outputs. This change makes local testing workflows match CI behavior without additional setup steps.

Changes

Binary Path Updates

  • Before: Expected binaries at hybrid-cloud-poc/spire/bin/spire-server
  • After: Uses actual build output at build/spire-binaries/spire-server
  • Benefit: No CI symlink workarounds needed

Build System Integration

  • Before: Attempted to build with legacy Makefile in hybrid-cloud-poc/spire/
  • After: Invokes scripts/spire-build.sh (overlay build system)
  • Benefit: Consistent build process across all environments

Smarter Rebuild Detection

  • Before: Checked if .go files changed in source tree
  • After: Checks if overlay patches modified
  • Benefit: Faster detection, aligned with overlay architecture

Improved Diagnostics

  • Enhanced error messages with clearer troubleshooting steps
  • Build logs saved to /tmp/spire-overlay-build.log for debugging
  • Better guidance for manual recovery

Testing

Verified on:

  • ✅ Fresh clones (no pre-existing build artifacts)
  • ✅ Existing workspaces with prior builds
  • ✅ CI environment compatibility maintained
  • ✅ Manual python ci_test_runner.py execution

Backward Compatibility

This change maintains compatibility with existing CI workflows. The .github/workflows/ci.yml symlink creation steps can now be considered optional (kept for extra safety) since tests work directly with overlay build outputs.

Commands to Test

# Clean start from repo root
rm -rf build/
./scripts/spire-build.sh

# Run integration tests - now works without symlinks!
cd hybrid-cloud-poc
python ci_test_runner.py

Impact

  • Developers: Can run integration tests immediately after building with overlay system
  • CI: Continues to work as before, symlink workaround now redundant
  • Maintenance: Simpler test infrastructure aligned with modern build system

Checklist

  • Code changes tested locally
  • CI workflows verified compatible
  • Error messages improved for debugging
  • No breaking changes to existing workflows
  • Commit message follows conventional format

Commit: 0aa13eae - "Enhance CI test runner to use SPIRE overlay build system"

Streamline integration testing by aligning test_control_plane.sh with
the SPIRE overlay architecture introduced in commit dba010be. This
enhancement enables seamless testing workflows in both CI and local
development environments.

Key improvements:
- Update binary paths to use build/spire-binaries/ output location
- Modernize build detection to check overlay patches instead of source
- Replace legacy Makefile build with scripts/spire-build.sh invocation
- Improve build error diagnostics with clearer troubleshooting steps
- Maintain backward compatibility with existing CI workflows

This change removes the need for CI-specific symlink workarounds and
ensures consistent behavior between automated CI runs and manual testing
sessions. Developers can now run tests directly after building with the
overlay system without additional setup steps.

Testing: Verified on both fresh clones and existing workspaces
@ramkri123 ramkri123 merged commit c0a59e4 into lfedgeai:main Feb 17, 2026
2 checks passed
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.

2 participants