forked from Tulip-Dev/tulip
-
Notifications
You must be signed in to change notification settings - Fork 1
102 lines (102 loc) · 3.99 KB
/
appimage-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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 }}