Skip to content

Commit c356808

Browse files
committed
Add AppImage with debug runtime to artifacts.
Signed-off-by: Gregorio Litenstein <[email protected]>
1 parent 3837784 commit c356808

File tree

2 files changed

+102
-1
lines changed

2 files changed

+102
-1
lines changed

.github/workflows/build-test.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,21 @@ jobs:
114114
run: |
115115
cd ${{ github.workspace }}/recipes/bash/
116116
./bash*.AppImage --appimage-extract-and-run -c "echo Hello World"
117+
- name: Build AppImage (DEBUG runtime)
118+
run: |
119+
cd ${{ github.workspace }}/recipes/appimage-builder
120+
appimage-builder --skip-test --recipe ./AppImageBuilder-debug.yml
117121
- name: Upload AppImageBuilder AppImage
118122
uses: actions/upload-artifact@v4
119123
with:
120124
name: appimage-builder-${{ env.APPIMAGE_BUILDER_VERSION }}.AppImage
121-
path: '${{ github.workspace }}/recipes/appimage-builder/*.AppImage*'
125+
path: '${{ github.workspace }}/recipes/appimage-builder/*x86_64.AppImage*'
126+
retention-days: 7
127+
- name: Upload AppImageBuilder Debug AppImage
128+
uses: actions/upload-artifact@v4
129+
with:
130+
name: appimage-builder-${{ env.APPIMAGE_BUILDER_VERSION }}-DEBUG.AppImage
131+
path: '${{ github.workspace }}/recipes/appimage-builder/*-DEBUG*.AppImage*'
122132
retention-days: 7
123133
- name: Upload AppImageBuilder Python dist
124134
uses: actions/upload-artifact@v4
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
version: 1
2+
script:
3+
# Remove any previous build
4+
- rm -rf $TARGET_APPDIR || true
5+
- mkdir -p $TARGET_APPDIR/usr/share/icons/hicolor/scalable/apps $TARGET_APPDIR/usr/bin $TARGET_APPDIR/opt "$BUILD_DIR"
6+
- cp ../../resources/appimage-builder.svg $TARGET_APPDIR/usr/share/icons/hicolor/scalable/apps
7+
- cp ../../resources/application-vnd.appimage.svg $TARGET_APPDIR/usr/share/icons/hicolor/scalable/apps
8+
9+
AppDir:
10+
app_info:
11+
id: org.appimage-crafters.appimage-builder
12+
name: appimage-builder
13+
icon: appimage-builder
14+
version: 'latest'
15+
# Set the python executable as entry point
16+
exec: usr/bin/python{{APPIMAGE_BUILDER_PY_VERSION}}
17+
# Set the application main script path as argument. Use '$@' to forward CLI parameters
18+
exec_args: "$APPDIR/usr/local/bin/appimage-builder $@"
19+
20+
apt:
21+
arch: amd64
22+
sources:
23+
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse'
24+
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ noble-updates main restricted universe multiverse'
25+
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
26+
27+
include:
28+
- bash
29+
- coreutils
30+
- binutils
31+
- util-linux
32+
- file
33+
- desktop-file-utils
34+
- fakeroot
35+
- libgdk-pixbuf2.0-dev
36+
- patchelf
37+
- python{{APPIMAGE_BUILDER_PY_VERSION}}-minimal
38+
- squashfs-tools
39+
- strace
40+
- zsync
41+
exclude: []
42+
43+
after_bundle: |
44+
# configure tools
45+
mkdir -p $TARGET_APPDIR/bin
46+
pushd $TARGET_APPDIR/usr/bin/
47+
ln -sr ./fakeroot-sysv fakeroot
48+
ln -sr ./bash sh
49+
ln -sr ./sh $TARGET_APPDIR/bin/sh
50+
51+
# install appimage-builder
52+
popd
53+
python3 -m pip install --ignore-installed --prefix=/usr --root="$TARGET_APPDIR" ../../
54+
python3 -m pip install --ignore-installed --prefix=/usr --root="$TARGET_APPDIR" certifi
55+
56+
runtime:
57+
debug: true
58+
version: "continuous"
59+
env:
60+
# Set python home
61+
# See https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHOME
62+
PYTHONHOME: '${APPDIR}/usr'
63+
# Path to the site-packages dir or other modules dirs
64+
# See https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH
65+
PYTHONPATH: '${APPDIR}/usr/lib/python{{APPIMAGE_BUILDER_PY_VERSION}}/site-packages'
66+
# SSL Certificates are placed in a different location for every system therefore we ship our own copy
67+
SSL_CERT_FILE: '${APPDIR}/usr/lib/python{{APPIMAGE_BUILDER_PY_VERSION}}/site-packages/certifi/cacert.pem'
68+
69+
test:
70+
fedora:
71+
image: ${APPIMAGE_BUILDER_REMOTE_REPO_OWNER}/tests-env:fedora-42
72+
command: ./AppRun --help
73+
debian:
74+
image: ${APPIMAGE_BUILDER_REMOTE_REPO_OWNER}/tests-env:debian-bookworm
75+
command: ./AppRun --help
76+
arch:
77+
image: ${APPIMAGE_BUILDER_REMOTE_REPO_OWNER}/tests-env:archlinux-latest
78+
command: ./AppRun --help
79+
centos:
80+
image: ${APPIMAGE_BUILDER_REMOTE_REPO_OWNER}/tests-env:centos-10
81+
command: ./AppRun --help
82+
ubuntu:
83+
image: ${APPIMAGE_BUILDER_REMOTE_REPO_OWNER}/tests-env:ubuntu-noble
84+
command: ./AppRun --help
85+
86+
AppImage:
87+
file_name: "appimage-builder-{{APPIMAGE_BUILDER_VERSION}}-x86_64-DEBUG.AppImage"
88+
update-information: 'gh-releases-zsync|AppImageCrafters|appimage-builder|latest|-*x86_64.AppImage.zsync'
89+
sign-key: None
90+
arch: x86_64
91+
comp: zstd

0 commit comments

Comments
 (0)