-
Notifications
You must be signed in to change notification settings - Fork 26
146 lines (139 loc) · 5.22 KB
/
build-ci.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: Build SocNetV (CI) 🚀
# run-name: ${{ github.actor }} testing latest SocNetV build with
on: [push]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-latest, macos-latest, windows-2019]
qt-version: ['6.2.4', '6.4.3', '6.5.3', '6.6.3']
# exclude:
# - os: ubuntu-latest
# qt-version: '6.5.3'
# - os: windows-2019
# qt-version: '6.5.3'
# - os: macos-latest
# qt-version: '6.5.3'
# include:
# - os: ubuntu-latest
# qt-version: '6.6.3'
# - os: windows-2019
# qt-version: '6.6.3'
# - os: macos-latest
# qt-version: '6.6.3'
# # Snapcraft
# - os: ubuntu-22.04
# qt-version: '6.5.3'
runs-on: ${{ matrix.os }}
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event, by actor ${{ github.actor }}."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
#
# Install Qt
#
- if: contains( matrix.os, 'windows')
name: Prepare for Windows
run: |
dir
# pip install aqtinstall
# aqt list-qt linux desktop
# aqt list-qt windows desktop
# aqt list-qt mac desktop
# aqt list-qt windows desktop --modules ${{ matrix.qt-version }} win64_mingw
- if: contains( matrix.os, 'ubuntu')
name: Install dependencies
run: |
ls
# pip install aqtinstall
# aqt list-qt linux desktop
# aqt list-qt linux desktop --long-modules ${{ matrix.qt-version }} win64_mingw
sudo apt install build-essential libssl-dev \
cmake ninja-build \
libssl-dev libxkbcommon-x11-dev libxcb-cursor-dev zlib1g-dev
- if: contains( matrix.os, 'macos')
name: Install for macOS
run: |
ls
# pip install aqtinstall
# aqt list-qt mac desktop
# aqt list-qt mac desktop --modules ${{ matrix.qt-version }}
#
# Install Qt
#
- if: contains( matrix.os, 'windows') && matrix.qt-version == '6.2.4'
name: Install Qt Qt 6.2.4 on Windows
uses: jurplel/install-qt-action@v4
with:
aqtversion: '==2.0.0'
version: ${{ matrix.qt-version }}
arch: win64_mingw
modules: qtwebsockets qtimageformats qt5compat qtcharts qtdatavis3d qtwebview qt3d
cache: true
- if: contains( matrix.os, 'windows') && startsWith( matrix.qt-version, '6.' ) && matrix.qt-version != '6.2.4'
name: Install Qt 6.3+ on Windows
uses: jurplel/install-qt-action@v4
with:
aqtversion: '==2.1.*'
version: ${{ matrix.qt-version }}
arch: win64_mingw
modules: qtwebsockets qtimageformats qt5compat qtcharts qtdatavis3d qtwebview qt3d
cache: true
- if: contains( matrix.os, 'ubuntu') && startsWith( matrix.qt-version, '6.' )
name: Install Qt 6 on Linux
uses: jurplel/install-qt-action@v4
with:
aqtversion: '==2.0.0'
version: ${{ matrix.qt-version }}
modules: qtwebsockets qtimageformats qt5compat qtcharts qtdatavis3d qtwebview qt3d
cache: true
- if: contains( matrix.os, 'macos') && startsWith( matrix.qt-version, '6.' )
name: Install Qt 6 on macOS
uses: jurplel/install-qt-action@v4
with:
aqtversion: '==2.0.0'
version: ${{ matrix.qt-version }}
modules: qtwebsockets qtimageformats qt5compat qtcharts qtdatavis3d qtwebview qt3d
cache: true
#
# Build SocNetV
#
# - if: contains( matrix.os, 'ubuntu-latest')
# name: Build for Linux
# run: |
# echo "openssl version:"
# echo `openssl version`
# echo "Check output of 'which qmake6':"
# which qmake6
# echo "Check qmake6 -v:"
# qmake6 -v
# qmake6 CONFIG+=debug && make -s -j 8
# echo "Building finished! "
# echo "Files in current directory: "
# find .
# # BUILD FOR MACOS
# - if: contains( matrix.os, 'macos')
# name: Build for macOS
# run: |
# qmake CONFIG+=debug socnetv.pro
# make -s -j 8
# find .
# BUILD FOR WINDOWS
- if: contains( matrix.os, 'windows') && startsWith( matrix.qt-version, '6.' ) && matrix.qt-version == '6.2.4'
name: Build for Windows
run: |
dir D:\a\app\Qt\6.2.4
dir D:\a\app\Qt\6.2.4\mingw_64\bin
qmake CONFIG+=debug socnetv.pro
mingw32-make
make
dir
- run: echo "🍏 This job's status is ${{ job.status }}."