Skip to content

Commit 18d2c40

Browse files
facontidavideclaude
andcommitted
fix: correct AppImage binary path and add release upload
- Fix colcon install path (pj_bridge/ prefix for non-merge-install) - Fix --parents cp that created broken nested paths for msg/srv files - Add release job to upload AppImages to GitHub Release on tag push - Rename output to pj_bridge_ros2-{distro}-x86_64.AppImage Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: c316f698da7d
1 parent b4a6084 commit 18d2c40

1 file changed

Lines changed: 35 additions & 3 deletions

File tree

.github/workflows/appimage.yaml

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ jobs:
4141
# Create AppDir structure
4242
mkdir -p AppDir/usr/{bin,lib,share}
4343
44-
# Copy binary
45-
cp install/lib/pj_bridge/pj_bridge_ros2 AppDir/usr/bin/
44+
# Copy binary (colcon without --merge-install)
45+
cp install/pj_bridge/lib/pj_bridge/pj_bridge_ros2 AppDir/usr/bin/
4646
4747
# Bundle shared libraries from the conda environment
4848
# (exclude glibc/ld-linux which must come from the host)
@@ -64,7 +64,12 @@ jobs:
6464
6565
# Copy message definitions (.msg/.srv/.idl files)
6666
for pkg_dir in "$CONDA_PREFIX"/share/*/msg "$CONDA_PREFIX"/share/*/srv; do
67-
[ -d "$pkg_dir" ] && cp -r --parents "$pkg_dir" AppDir/usr/share/ 2>/dev/null || true
67+
if [ -d "$pkg_dir" ]; then
68+
pkg_name="$(basename "$(dirname "$pkg_dir")")"
69+
sub_dir="$(basename "$pkg_dir")"
70+
mkdir -p "AppDir/usr/share/$pkg_name/$sub_dir"
71+
cp -r "$pkg_dir"/* "AppDir/usr/share/$pkg_name/$sub_dir/" 2>/dev/null || true
72+
fi
6873
done
6974
7075
# Create .desktop file
@@ -97,7 +102,34 @@ jobs:
97102
--appdir AppDir \
98103
--output appimage
99104
105+
- name: Rename AppImage
106+
run: mv pj_bridge*.AppImage pj_bridge_ros2-${{ matrix.environment }}-x86_64.AppImage
107+
100108
- uses: actions/upload-artifact@v4
101109
with:
102110
name: appimage-${{ matrix.environment }}
103111
path: "*.AppImage"
112+
113+
release:
114+
needs: appimage
115+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
116+
runs-on: ubuntu-latest
117+
permissions:
118+
contents: write
119+
120+
steps:
121+
- name: Download all AppImage artifacts
122+
uses: actions/download-artifact@v4
123+
with:
124+
path: appimages
125+
pattern: appimage-*
126+
merge-multiple: true
127+
128+
- name: List artifacts
129+
run: ls -lh appimages/
130+
131+
- name: Upload to GitHub Release
132+
uses: softprops/action-gh-release@v2
133+
with:
134+
tag_name: ${{ github.ref_name }}
135+
files: appimages/*.AppImage

0 commit comments

Comments
 (0)