-
Notifications
You must be signed in to change notification settings - Fork 3
114 lines (97 loc) · 3.4 KB
/
build-appimage-test.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
103
104
105
106
107
108
109
110
111
112
113
114
name: Build Test AppImage
on:
workflow_dispatch:
inputs:
tags:
description: 'Test Build AppImage'
required: false
type: boolean
jobs:
build:
runs-on: ubuntu-latest
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch all history for all branches and tags
- name: Set up Python environment
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Setup xvfb (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y xvfb \
libxkbcommon-x11-0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-xinerama0 \
libxcb-xinput0 \
libxcb-xfixes0 \
libxcb-shape0 \
libglib2.0-0 \
libgl1-mesa-dev \
'^libxcb.*-dev' \
libx11-xcb-dev \
libglu1-mesa-dev \
libxrender-dev \
libxi-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libsecp256k1-0
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- name: Run build script
run: poetry run python tools/build.py --targets appimage --commit None
- name: Check for AppImage file
run: |
if [ -z "$(find dist -type f -name '*.AppImage')" ]; then
echo "AppImage file is missing"
exit 1
fi
# - name: Install Dependencies for gui test
# run: |
# sudo apt-get update
# sudo apt-get install -y xvfb libfuse2 xdotool
# shell: bash
# - name: Start Xvfb
# run: Xvfb :99 -screen 0 1024x768x16 &
# env:
# DISPLAY: ":99"
# - name: Run AppImage
# run: |
# APPIMAGE=$(find ./dist -maxdepth 1 -name "*.AppImage" | head -n 1)
# if [ -z "$APPIMAGE" ]; then
# echo "No AppImage file found in ./dist/"
# exit 1
# fi
# echo "Running AppImage: $APPIMAGE"
# chmod +x "$APPIMAGE"
# "$APPIMAGE" &
# env:
# DISPLAY: ":99"
# - name: Wait for Application to Start
# run: sleep 5
# - name: Check for Application Window
# run: |
# WINDOW_NAME="Bitcoin Safe"
# WINDOW_ID=$(xdotool search --name "$WINDOW_NAME")
# if [ -z "$WINDOW_ID" ]; then
# echo "Application window not found."
# exit 1
# else
# echo "Application window found with ID: $WINDOW_ID"
# fi
# env:
# DISPLAY: ":99"
# - name: Close Application
# run: |
# xdotool search --name "Bitcoin Safe" windowkill %@ || true
# env:
# DISPLAY: ":99"