-
Notifications
You must be signed in to change notification settings - Fork 290
88 lines (74 loc) · 2.51 KB
/
on_PR_linux_matrix.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
name: On PRs - Linux-Ubuntu Matrix
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
pull_request:
paths-ignore:
- "*.md"
jobs:
Linux:
name: 'Ubuntu 22.04 - GCC, BuildType:${{matrix.build_type}}, SHARED:${{matrix.shared_libraries}}'
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
build_type: [Release, Debug]
shared_libraries: [ON, OFF]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt install -y tree ninja-build
python3 -m pip install conan==1.* lxml
- name: Conan common config
run: |
conan profile new --detect default
conan profile update settings.build_type=${{matrix.build_type}} default
conan profile update settings.compiler.libcxx=libstdc++11 default
- name: Run Conan
run: |
mkdir build-base_linux && cd build-base_linux
conan profile list
conan profile show default
conan install .. -o webready=True --build missing
- name: Build
run: |
cmake --preset base_linux -S . -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}}
cmake --build build-base_linux --parallel
- name: Install
run: |
cd build-base_linux
cmake --install .
- name: Test
run: |
cd build-base_linux
ctest --output-on-failure
Alpine:
name: 'Alpine Edge - GCC, BuildType:${{matrix.build_type}}, SHARED:${{matrix.shared_libraries}} ARCH:${{matrix.arch}}'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: ['riscv64', 's390x']
build_type: [Release, Debug]
shared_libraries: [ON, OFF]
defaults:
run:
shell: alpine.sh {0}
steps:
- uses: actions/checkout@v4
- uses: jirutka/setup-alpine@v1
with:
arch: ${{matrix.arch}}
branch: edge
packages: >
build-base cmake samurai brotli-dev curl-dev expat-dev inih-inireader-dev gtest-dev python3-dev zlib-dev
- name: Build
run: |
cmake --preset base_linux -S . -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DCONAN_AUTO_INSTALL=OFF
cmake --build build-base_linux --parallel
- name: Test
run: |
cd build-base_linux
ctest --output-on-failure