Compare commits

..

No commits in common. "074d642adceaec9d19f14d101d5e08cee9596da9" and "3dedca4de308a16f1782f3fdc30c6cce5056c8d3" have entirely different histories.

3 changed files with 10 additions and 26 deletions

View file

@ -9,21 +9,13 @@ on:
jobs: jobs:
appimage: appimage:
name: Build AppImage name: Build AppImage
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
container: docker container: docker
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
arch: x86_64
- os: ubuntu-latest
arch: aarch64
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build AppImage - name: Build AppImage
run: | run: |
docker build -t appimage-builder --build-arg="TARGET_ARCHITECTURE=${{ matrix.arch }}" . -f burrow-gtk/build-aux/Dockerfile docker build -t appimage-builder . -f burrow-gtk/build-aux/Dockerfile
docker create --name temp appimage-builder docker create --name temp appimage-builder
docker cp temp:/app/burrow-gtk/build-appimage/Burrow-x86_64.AppImage . docker cp temp:/app/burrow-gtk/build-appimage/Burrow-x86_64.AppImage .
docker rm temp docker rm temp
@ -31,4 +23,4 @@ jobs:
name: Upload to GitHub name: Upload to GitHub
with: with:
name: AppImage name: AppImage
path: Burrow-${{ matrix.arch }}.AppImage path: Burrow-x86_64.AppImage

View file

@ -1,7 +1,5 @@
FROM fedora:39 FROM fedora:39
ARG TARGET_ARCHITECTURE
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN set -eux && \ RUN set -eux && \
@ -17,6 +15,6 @@ COPY . /app
ENV SQLITE3_STATIC=1 ENV SQLITE3_STATIC=1
RUN cd /app/burrow-gtk/ && \ RUN cd /app/burrow-gtk/ && \
TARGET_ARCHITECTURE=$TARGET_ARCHITECTURE ./build-aux/build_appimage.sh ./build-aux/build_appimage.sh

View file

@ -6,33 +6,27 @@ BURROW_GTK_ROOT="$(readlink -f $(dirname -- "$(readlink -f -- "$BASH_SOURCE")")/
BURROW_GTK_BUILD="$BURROW_GTK_ROOT/build-appimage" BURROW_GTK_BUILD="$BURROW_GTK_ROOT/build-appimage"
LINUXDEPLOY_VERSION="${LINUXDEPLOY_VERSION:-"1-alpha-20240109-1"}" LINUXDEPLOY_VERSION="${LINUXDEPLOY_VERSION:-"1-alpha-20240109-1"}"
BURROW_BUILD_TYPE="${BURROW_BUILD_TYPE:-"release"}" BURROW_BUILD_TYPE="${BURROW_BUILD_TYPE:-"release"}"
HOST_ARCHITECTURE=$(lscpu | grep Architecture | awk '{print $2}')
TARGET_ARCHITECTURE="${TARGET_ARCHITECTURE:-"x86_64"}"
CARGO_FLAGS=""
if [ "$BURROW_GTK_ROOT" != $(pwd) ]; then if [ "$BURROW_GTK_ROOT" != $(pwd) ]; then
echo "Make sure to cd into burrow-gtk" echo "Make sure to cd into burrow-gtk"
exit 1 exit 1
fi fi
if [ "$HOST_ARCHITECTURE" == "x86_64" ]; then ARCHITECTURE=$(lscpu | grep Architecture | awk '{print $2}')
if [ "$ARCHITECTURE" == "x86_64" ]; then
wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/$LINUXDEPLOY_VERSION/linuxdeploy-x86_64.AppImage" -o /dev/null -O /tmp/linuxdeploy wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/$LINUXDEPLOY_VERSION/linuxdeploy-x86_64.AppImage" -o /dev/null -O /tmp/linuxdeploy
chmod a+x /tmp/linuxdeploy chmod a+x /tmp/linuxdeploy
elif [ "$HOST_ARCHITECTURE" == "aarch64" ]; then elif [ "$ARCHITECTURE" == "aarch64" ]; then
wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/$LINUXDEPLOY_VERSION/linuxdeploy-aarch64.AppImage" -o /dev/null -O /tmp/linuxdeploy wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/$LINUXDEPLOY_VERSION/linuxdeploy-aarch64.AppImage" -o /dev/null -O /tmp/linuxdeploy
chmod a+x /tmp/linuxdeploy chmod a+x /tmp/linuxdeploy
fi fi
if [ "$TARGET_ARCHITECTURE" == "x86_64" ]; then
CARGO_FLAGS="--target x86_64-unknown-linux-gnu"
elif [ "$TARGET_ARCHITECTURE" == "aarch64" ]; then
CARGO_FLAGS="--target aarch64-unknown-linux-gnu"
fi
CFLAGS="-I/usr/local/include -I/usr/include/$MUSL_TARGET -fPIE" CFLAGS="-I/usr/local/include -I/usr/include/$MUSL_TARGET -fPIE"
meson setup $BURROW_GTK_BUILD --bindir bin --prefix /usr --buildtype $BURROW_BUILD_TYPE meson setup $BURROW_GTK_BUILD --bindir bin --prefix /usr --buildtype $BURROW_BUILD_TYPE
meson compile -C $BURROW_GTK_BUILD meson compile -C $BURROW_GTK_BUILD
DESTDIR=AppDir meson install -C $BURROW_GTK_BUILD DESTDIR=AppDir meson install -C $BURROW_GTK_BUILD
CARGO_FLAGS=$CARGO_FLAGS cargo b --$BURROW_BUILD_TYPE --manifest-path=../Cargo.toml cargo b --$BURROW_BUILD_TYPE --manifest-path=../Cargo.toml
/tmp/linuxdeploy --appimage-extract-and-run --appdir $BURROW_GTK_BUILD/AppDir -e $BURROW_GTK_BUILD/../../target/$BURROW_BUILD_TYPE/burrow --output appimage /tmp/linuxdeploy --appimage-extract-and-run --appdir $BURROW_GTK_BUILD/AppDir -e $BURROW_GTK_BUILD/../../target/$BURROW_BUILD_TYPE/burrow --output appimage
mv *.AppImage $BURROW_GTK_BUILD/Burrow-${TARGET_ARCHITECTURE} mv *.AppImage $BURROW_GTK_BUILD