ci: refix AppImage, switch to appimage-builder, build docker

Tomáš Mládek 2023-08-21 12:30:47 +02:00
parent 27f7941020
commit 5188336c7e
3 changed files with 62 additions and 21 deletions

2
.gitignore vendored
View File

@ -1,6 +1,4 @@
/dist
/*.AppImage
/*.asc
/target
**/*.rs.bk

View File

@ -2,28 +2,32 @@ VERSION 0.7
appimage:
FROM --platform=linux/amd64 +base-rust
RUN apt-get update && apt-get -y install wget curl file && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage && \
chmod +x linuxdeploy-x86_64.AppImage && \
./linuxdeploy-x86_64.AppImage --appimage-extract && \
ln -s $PWD/squashfs-root/AppRun /usr/local/bin/linuxdeploy-x86_64.AppImage
RUN linuxdeploy-x86_64.AppImage --appdir dist
COPY +upend-cli/bin dist/usr/bin/upend
COPY --dir +webui/dist dist/usr/share/upend/webui
COPY assets/upend.png dist/usr/share/icons/upend.png
COPY --dir build build
COPY +get-version/version.txt .
RUN export LINUXDEPLOY_OUTPUT_VERSION="$(cat version.txt)" ;\
linuxdeploy-x86_64.AppImage --appdir dist -d build/upend.desktop --output appimage
RUN apt-get update && \
apt-get -y install wget pipx binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync && \
pipx ensurepath && \
pipx install appimage-builder
COPY build/AppImageBuilder.yml .
COPY +upend-cli/bin AppDir/usr/bin/upend
COPY --dir +webui/dist AppDir/usr/share/upend/webui
COPY assets/upend.png AppDir/usr/share/icons/upend.png
# COPY +get-version/version.txt .
# RUN export LINUXDEPLOY_OUTPUT_VERSION="$(cat version.txt)" ;\
# linuxdeploy-x86_64.AppImage --appdir appdir -d build/upend.desktop --output appimage
RUN pipx run appimage-builder
SAVE ARTIFACT UpEnd* AS LOCAL dist/
upend-docker:
FROM debian:bookworm
# COPY +upend-cli/bin dist/usr/bin/upend
# COPY --dir +webui/dist dist/usr/share/upend/webui
# COPY assets/upend.png dist/usr/share/icons/upend.png
RUN apt-get update && \
apt-get -y install libssl3 ffmpeg wget && \
wget https://github.com/bbc/audiowaveform/releases/download/1.8.1/audiowaveform_1.8.1-1-12_amd64.deb && \
apt -y install ./audiowaveform_1.8.1-1-12_amd64.deb && \
rm -v audiowaveform_1.8.1-1-12_amd64.deb && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY +upend-cli/bin /usr/bin/upend
COPY --dir +webui/dist /usr/share/upend/webui
CMD ["/usr/bin/upend"]
SAVE IMAGE upend/upend upend
get-version:
@ -126,4 +130,5 @@ base-node:
RUN npm install -g pnpm
WORKDIR /upend
COPY --dir webui webext .
COPY --dir tools/upend_js tools/upend_js
COPY --dir tools/upend_js tools/upend_js

38
build/AppImageBuilder.yml Normal file
View File

@ -0,0 +1,38 @@
# appimage-builder recipe see https://appimage-builder.readthedocs.io for details
version: 1
AppDir:
path: AppDir
app_info:
id: upend
name: UpEnd
icon: upend
version: latest
exec: usr/bin/upend
exec_args: $@
apt:
arch:
- amd64
allow_unauthenticated: true
sources:
- sourceline: deb http://deb.debian.org/debian/ bookworm main non-free-firmware
- sourceline: deb http://security.debian.org/debian-security bookworm-security
main non-free-firmware
- sourceline: deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
stable
include:
- libssl3
- libc6:amd64
- locales
files:
include:
- lib64/ld-linux-x86-64.so.2
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
AppImage:
arch: x86_64
update-information: guess