diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index 4ac3a6f..bb510fb 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -9,21 +9,13 @@ on: jobs: appimage: name: Build AppImage - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest container: docker - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-latest - arch: x86_64 - - os: ubuntu-latest - arch: aarch64 steps: - uses: actions/checkout@v4 - name: Build AppImage 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 cp temp:/app/burrow-gtk/build-appimage/Burrow-x86_64.AppImage . docker rm temp @@ -31,4 +23,4 @@ jobs: name: Upload to GitHub with: name: AppImage - path: Burrow-${{ matrix.arch }}.AppImage + path: Burrow-x86_64.AppImage diff --git a/burrow-gtk/build-aux/Dockerfile b/burrow-gtk/build-aux/Dockerfile index 4c2f56a..4e71c05 100644 --- a/burrow-gtk/build-aux/Dockerfile +++ b/burrow-gtk/build-aux/Dockerfile @@ -1,7 +1,5 @@ FROM fedora:39 -ARG TARGET_ARCHITECTURE - ENV DEBIAN_FRONTEND=noninteractive RUN set -eux && \ @@ -17,6 +15,6 @@ COPY . /app ENV SQLITE3_STATIC=1 RUN cd /app/burrow-gtk/ && \ - TARGET_ARCHITECTURE=$TARGET_ARCHITECTURE ./build-aux/build_appimage.sh + ./build-aux/build_appimage.sh diff --git a/burrow-gtk/build-aux/build_appimage.sh b/burrow-gtk/build-aux/build_appimage.sh index ef149a4..f054cd9 100755 --- a/burrow-gtk/build-aux/build_appimage.sh +++ b/burrow-gtk/build-aux/build_appimage.sh @@ -6,33 +6,27 @@ BURROW_GTK_ROOT="$(readlink -f $(dirname -- "$(readlink -f -- "$BASH_SOURCE")")/ BURROW_GTK_BUILD="$BURROW_GTK_ROOT/build-appimage" LINUXDEPLOY_VERSION="${LINUXDEPLOY_VERSION:-"1-alpha-20240109-1"}" 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 echo "Make sure to cd into burrow-gtk" exit 1 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 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 chmod a+x /tmp/linuxdeploy 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" meson setup $BURROW_GTK_BUILD --bindir bin --prefix /usr --buildtype $BURROW_BUILD_TYPE meson compile -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 -mv *.AppImage $BURROW_GTK_BUILD/Burrow-${TARGET_ARCHITECTURE} +mv *.AppImage $BURROW_GTK_BUILD