bundlers/linux: Ensure qt wayland plugins are copied in AppImage #933
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |