From: Daniel Wagner Date: Thu, 19 Jan 2023 12:28:00 +0000 (+0100) Subject: build: Add AppImage build workflows X-Git-Tag: v2.3~20^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4429f672e74a394364b88b68e445c44cab5cd1d9;p=users%2Fsagi%2Fnvme-cli.git build: Add AppImage build workflows Provide an AppImage version of the current head for testing. Signed-off-by: Daniel Wagner --- diff --git a/.github/AppImageBuilder.yml b/.github/AppImageBuilder.yml new file mode 100644 index 00000000..3675edf6 --- /dev/null +++ b/.github/AppImageBuilder.yml @@ -0,0 +1,60 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +script: + # Ensure that the mksquashfs tool is installed (workaround for the AppImageCrafters/build-appimage GHA) + - which mksquashfs || apt install squashfs-tools + # fake icons + - mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps + - touch AppDir/usr/share/icons/hicolor/64x64/apps/nvme-cli.png + +AppDir: + path: AppDir + app_info: + id: linux-nvme.nvme-cli + name: nvme-cli + version: latest + icon: nvme-cli + exec: usr/sbin/nvme + exec_args: $@ + apt: + arch: amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse + key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C' + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse + include: + - libjson-c5 + - libhugetlbfs0 + files: + include: + - /lib64/libcrypto.so.3 + - /lib64/libdbus-1.so.3 + - /lib64/libjson-c.so.5 + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* + test: + fedora-30: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + debian-stable: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + archlinux-latest: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + centos-7: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + ubuntu-xenial: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun +AppImage: + update-information: 'gh-releases-zsync|linux-nvme|nvme-cli|latest|*x86_64.AppImage.zsync' + arch: x86_64 diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 00000000..6b6057f4 --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,33 @@ +--- +name: AppImage + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] +env: + DESTDIR: ../AppDir + +jobs: + build-appimage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: install dependencies + run: sudo apt-get install libjson-c-dev libdbus-1-dev libhugetlbfs-dev + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + - uses: BSFishy/meson-build@v1.0.3 + with: + setup-options: --werror --buildtype=release --prefix=/usr + action: install + - name: build AppImage + uses: AppImageCrafters/build-appimage@v1.3 + with: + recipe: .github/AppImageBuilder.yml + - uses: actions/upload-artifact@v2 + with: + name: AppImage + path: '*.AppImage*'