Skip to content

bundlers/linux: Ensure qt xcb platform plugin is used to run AppImage #936

bundlers/linux: Ensure qt xcb platform plugin is used to run AppImage

bundlers/linux: Ensure qt xcb platform plugin is used to run AppImage #936

Workflow file for this run

name: appimage-build
on: [push, pull_request]
jobs:
appimage:
name: ${{ matrix.config.name }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
config:
- name: Talipot AppImage build on CentOS 8
docker-image: tgagor/centos-stream:8
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout Talipot code
uses: actions/checkout@v3
- name: Get current date
id: get-current-date
run: |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache files
uses: actions/cache@v3
with:
path: ~/ccache
key: appimage-${{ matrix.config.docker-image }}-ccache-${{ steps.get-current-date.outputs.date }}
restore-keys: |
appimage-${{ matrix.config.docker-image }}-ccache-
- name: Pull ${{ matrix.config.docker-image }} docker image
run: docker pull ${{ matrix.config.docker-image }}
- name: Create ccache docker volume
run: docker create
-v ~/ccache:/ccache
--name ccache
${{ matrix.config.docker-image }}
- name: Build Talipot AppImage on CentOS
run: docker run
-e CCACHE_DIR=/ccache
--volumes-from ccache
-v `pwd`:/talipot:rw
${{ matrix.config.docker-image }}
/bin/bash -c "bash -xe /talipot/bundlers/linux/talipot_appimage_centos_build.sh"
- name: Install required dependencies to run AppImage
run: |
sudo apt update
sudo apt install qtbase5-dev xvfb libfuse2
shell: bash
- name: Check Talipot AppImage can be executed on Ubuntu
working-directory: ./build
run: xvfb-run bash -c "./$(ls Talipot*.AppImage) --check-application-starts --debug-plugins-load"
- name: Check Talipot AppImage can be executed on Fedora
uses: addnab/docker-run-action@v3
with:
image: fedora
shell: bash
options: --device /dev/fuse --privileged
-v ${{ github.workspace }}:/talipot:rw
run: |
dnf -y group install "Basic Desktop" GNOME
yum install -y xorg-x11-server-Xvfb
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load
- name: Check Talipot AppImage can be executed on ArchLinux
uses: addnab/docker-run-action@v3
with:
image: archlinux
shell: bash
options: --device /dev/fuse --privileged
-v ${{ github.workspace }}:/talipot:rw
run: |
until pacman -Syu --noconfirm fuse gnome qt5-base xorg-server-xvfb
do
echo "Some packages could not be downloaded, retrying"
done
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load
- name: Check Talipot AppImage can be executed on openSUSE
uses: addnab/docker-run-action@v3
with:
image: opensuse/tumbleweed
shell: bash
options: --device /dev/fuse --privileged
-v ${{ github.workspace }}:/talipot:rw
run: |
zypper install -y -t pattern kde kde_plasma
zypper install -y fuse-devel xvfb-run
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load
- name: Upload Taliot AppImage to GitHub Actions artifacts
uses: actions/upload-artifact@v3
with:
name: Talipot AppImages
path: ./build/Talipot*.AppImage
- name: Upload Talipot bundle to dev-latest prerelease
if: github.ref == 'refs/tags/dev-latest'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
name: Talipot development build
prerelease: true
artifacts: ./build/Talipot*.AppImage
token: ${{ secrets.GITHUB_TOKEN }}