-
-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (114 loc) · 3.78 KB
/
os_compile_and_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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: os_compile_and_test
run-name: Compile and Test the library on particular OS
on:
push:
branches:
- '**'
workflow_dispatch:
branches:
- '**'
jobs:
release_binaries:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
shell_type: bash
cmake_generator: "Unix Makefiles"
release_dir: "/build"
ext: ""
bin_dir: "lin64"
compress: "tar -czvf"
compress_ext: "UnixMake.tar.gz"
- os: macos-latest
shell_type: bash
cmake_generator: "Unix Makefiles"
release_dir: "/build"
ext: ""
bin_dir: "mac64"
compress: "tar -czvf"
compress_ext: "UnixMake.tar.gz"
- os: windows-latest
shell_type: pwsh
cmake_generator: "MinGW Makefiles"
release_dir: "/build"
ext: ".exe"
bin_dir: "win64"
compress: "7z a"
compress_ext: "MinGW.zip"
- os: windows-latest
shell_type: pwsh
cmake_generator: "Visual Studio 17 2022"
release_dir: "/build"
ext: ".exe"
bin_dir: "win64"
compress: "7z a "
compress_ext: "VS17.zip"
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
# Linux
- name: Set Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt install libxcursor-dev
sudo apt install libxfixes-dev
sudo apt install libxft-dev
sudo apt install libxinerama-dev
sudo apt install libgl1-mesa-dev
sudo apt install libglu1-mesa-dev
# MacOS
- name: Set MacOS
if: matrix.os == 'macos-latest'
run: |
brew install tree
brew install mesa
# MSYS
- name: Set MSYS
if: matrix.cmake_generator == 'MinGW Makefiles'
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64 # (default), Other - MSYS, UCRT64, CLANG64
path-type: minimal # (default), Other - strict, inherit
release: true
update: true
platform-check-severity: fatal
install: >-
tree
git
base-devel
mingw-w64-x86_64-cmake
mingw-w64-x86_64-toolchain
mingw-w64-clang-x86_64-freeglut
# Set MSVC
- name: Set MSVC
if: matrix.cmake_generator == 'Visual Studio 17 2022'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86_64
#vsversion: 17.0
# Submodules update
- name: Pull & update submodules recursively
run: |
git submodule update --init --recursive
git submodule update --recursive --remote
# Build FLTK
- name: FLTK - Dowload & Build
uses: ./.github/actions/fltk
with:
cmake_generator: ${{ matrix.cmake_generator }}
shell_type: ${{ matrix.shell_type }}
# Build Release
- name: Build & Test
uses: ./.github/actions/generic_cmake_build
with:
os: ${{ matrix.os }}
shell_type: ${{ matrix.shell_type }}
build_type: Release
cmake_generator: ${{ matrix.cmake_generator }}
parallel: 1
tests_flag: true