forked from simonfuhrmann/mve
-
Notifications
You must be signed in to change notification settings - Fork 29
109 lines (91 loc) · 3.16 KB
/
main.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
name: MVE GitHub Actions CI
on:
push:
branches: [ "master", "gh_ci_test" ]
pull_request:
branches: [ "master" ]
jobs:
build:
name: ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.os }}
strategy:
fail-fast: false
matrix:
platform:
- { name: "Ubuntu 20.04, GCC, x86_64", os: ubuntu-20.04, cpp_compiler: g++, qmake_spec: linux-g++ }
- { name: "Ubuntu 20.04, Clang, x86_64", os: ubuntu-20.04, cpp_compiler: clang++, qmake_spec: linux-clang }
- { name: "Ubuntu 22.04, GCC, x86_64", os: ubuntu-22.04, cpp_compiler: g++, qmake_spec: linux-g++ }
- { name: "Ubuntu 22.04, Clang, x86_64", os: ubuntu-22.04, cpp_compiler: clang++, qmake_spec: linux-clang }
- { name: "Ubuntu 24.04, GCC, x86_64", os: ubuntu-24.04, cpp_compiler: g++, qmake_spec: linux-g++ }
- { name: "Ubuntu 24.04, Clang, x86_64", os: ubuntu-24.04, cpp_compiler: clang++, qmake_spec: linux-clang }
- { name: "macOS 12, Clang, x86_64", os: macos-12, cpp_compiler: clang++, qmake_spec: macx-clang }
- { name: "macOS 13, Clang, x86_64", os: macos-13, cpp_compiler: clang++, qmake_spec: macx-clang }
- { name: "macOS 14, Clang, arm64", os: macos-14, cpp_compiler: clang++, qmake_spec: macx-clang }
env:
CXX: ${{ matrix.platform.cpp_compiler }}
QMAKE_SPEC: ${{ matrix.platform.qmake_spec }}
steps:
- uses: actions/checkout@v4
- name: Install Ubuntu dependencies
if: runner.os == 'Linux'
run: |
echo "::group::apt-get update"
sudo apt-get update
echo "::endgroup::"
echo "::group::apt-get upgrade"
sudo apt-get upgrade -y
echo "::endgroup::"
echo "::group::apt-get install"
sudo apt-get install \
build-essential \
clang \
libgl-dev \
libgtest-dev \
libjpeg-turbo8-dev \
libomp-dev \
libpng-dev \
libqt5opengl5-dev \
libtiff-dev \
pkg-config \
zlib1g-dev
echo "::endgroup::"
- name: Install macOS dependencies
if: runner.os == 'macOS'
run: |
echo "::group::brew update"
brew update
echo "::endgroup::"
echo "::group::brew install"
brew install -q \
googletest \
jpeg-turbo \
libpng \
libtiff \
qt@5
echo "::endgroup::"
echo "::group::brew link"
brew link qt@5
echo "::endgroup::"
- name: Build (U)MVE on Linux/macOS
run: |
${CXX} --version
if [ "`uname`" = "Darwin" ]; then
export NUM_CPU_CORES="`sysctl -n hw.ncpu`"
else
export NUM_CPU_CORES="`nproc`"
fi
echo "::group::Build MVE"
make -j${NUM_CPU_CORES}
echo "::endgroup"::
echo "::group::Build UMVE"
qmake -v
pushd apps/umve
qmake -spec ${QMAKE_SPEC}
make -j${NUM_CPU_CORES}
popd
echo "::endgroup::"
echo "::group::Build tests"
make -j${NUM_CPU_CORES} test
echo "::endgroup::"
- name: Run tests
run: ./tests/test