feat: Debian package distribution with vendored IXWebSocket and CI optimization#1
Merged
facontidavide merged 3 commits intomainfrom Feb 11, 2026
Merged
feat: Debian package distribution with vendored IXWebSocket and CI optimization#1facontidavide merged 3 commits intomainfrom
facontidavide merged 3 commits intomainfrom
Conversation
Cleaned up vendored IXWebSocket library (3rdparty/ixwebsocket) by removing: - Test files and test infrastructure (test/, tools/) - Documentation (docs/, README.md, SECURITY.md) - Docker configuration (docker/, Dockerfile, docker-compose.yml, .dockerignore) - CI/CD workflows (.github/workflows/) - Development configuration files (.clang-format, .gitignore, .pre-commit-config.yaml) - Example projects and wasm build directory (ws/) - Third-party dependencies (third_party/) Size reduction: 3.5MB → 684KB (80% reduction) Kept only essential files: - ixwebsocket/ (640K) - source code - CMake/ (16K) - build configuration - CMakeLists.txt - build rules - LICENSE.txt - license information This optimizes the repository size while maintaining full functionality. The vendored library is used by default (USE_VENDORED_IXWEBSOCKET=ON) but can be disabled to use system-provided ixwebsocket from package managers (conan, vcpkg, etc.). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Entire-Checkpoint: cd706883ada1
Add concurrency configuration to all GitHub Actions workflows to automatically cancel in-progress jobs when a new commit is pushed to the same branch or when a new pull request event occurs. Workflows updated: - .github/workflows/release-debs.yaml - .github/workflows/ros-humble.yaml - .github/workflows/ros-jazzy.yaml - .github/workflows/ros-rolling.yaml Configuration: - Group: workflow name + git ref (branch/tag) - Behavior: cancel-in-progress jobs when new job queued This prevents resource waste from running obsolete CI jobs and provides faster feedback when multiple commits are pushed in quick succession. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Entire-Checkpoint: cd706883ada1
- Add AGPL v3.0 LICENSE file - Add copyright headers to all 32 source files (Davide Faconti 2026) - Update package.xml license metadata - Add comprehensive license FAQ to README addressing: - Commercial use permissions - Proprietary software compatibility - Code sharing obligations - Internal use modifications - Network clause implications The AGPL license ensures community improvements while allowing unrestricted commercial use and not affecting other software on the system. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Entire-Checkpoint: e805cf64b481
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete implementation of Debian package building infrastructure for ROS2 distributions (Humble, Jazzy, Kilted, Rolling) with optimized IXWebSocket vendoring and improved CI/CD pipeline.
Changes
Debian Distribution (Bloom Integration)
.debartifactsVendored IXWebSocket Library
3rdparty/ixwebsocket/USE_VENDORED_IXWEBSOCKET(default: ON)CI/CD Optimization
Package Metadata
package.xmlwith author and repository URLsCHANGELOG.rstdocumenting v0.1.0 releaseTest Plan
.debartifactsCommits
31ec488docs: Add CHANGELOG and improve package.xml metadatac4aee51ci: Add debian package release workflow00eb49afix: CI workflow path handling for debian builds96df354ci: Pre-build IXWebSocket for debian builds1f178earefactor: Vendor IXWebSocket in 3rdparty/ with configurable CMake flag839fb06refactor: Remove unnecessary files from vendored ixwebsocket5b38fe7ci: Add concurrency to abort jobs on new commits🤖 Generated with Claude Code