Skip to content

Commit e80fbd6

Browse files
committed
First attempt at using windows build for actions
1 parent cd0ff36 commit e80fbd6

1 file changed

Lines changed: 84 additions & 38 deletions

File tree

‎.github/workflows/pipeline.yml‎

Lines changed: 84 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,44 +26,90 @@ jobs:
2626
llvm_version: 16
2727

2828
steps:
29-
- uses: actions/checkout@v4
30-
31-
- name: Install clang
32-
if: ${{ matrix.llvm_version }}
33-
run: |
34-
wget https://apt.llvm.org/llvm.sh
35-
chmod +x llvm.sh
36-
sudo ./llvm.sh ${{ matrix.llvm_version }}
37-
38-
- name: Prepare environment
39-
run: |
40-
sudo apt-get update
41-
sudo apt-get install -y locales
42-
43-
sudo locale-gen de_DE.UTF-8
44-
45-
- name: Configure build
46-
working-directory: ${{runner.workspace}}
47-
env:
48-
CC: ${{matrix.cc}}
49-
CXX: ${{matrix.cxx}}
50-
run: |
51-
cmake -Bbuild -H$GITHUB_WORKSPACE \
52-
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
53-
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
54-
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
55-
-DCMAKE_CXX_EXTENSIONS=ON \
56-
-DDBC_TEST_LOCALE_INDEPENDENCE=ON
57-
58-
- name: Build tests + lib
59-
working-directory: ${{runner.workspace}}
60-
run: cmake --build build
61-
62-
- name: Run tests
63-
env:
64-
CTEST_OUTPUT_ON_FAILURE: 1
65-
working-directory: ${{runner.workspace}}
66-
run: ctest --output-on-failure --test-dir build -j `nproc`
29+
- uses: actions/checkout@v4
30+
31+
- name: Install clang
32+
if: ${{ matrix.llvm_version }}
33+
run: |
34+
wget https://apt.llvm.org/llvm.sh
35+
chmod +x llvm.sh
36+
sudo ./llvm.sh ${{ matrix.llvm_version }}
37+
38+
- name: Prepare environment
39+
run: |
40+
sudo apt-get update
41+
sudo apt-get install -y locales
42+
43+
sudo locale-gen de_DE.UTF-8
44+
45+
- name: Configure build
46+
working-directory: ${{runner.workspace}}
47+
env:
48+
CC: ${{matrix.cc}}
49+
CXX: ${{matrix.cxx}}
50+
run: |
51+
cmake -Bbuild -H$GITHUB_WORKSPACE \
52+
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
53+
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
54+
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
55+
-DCMAKE_CXX_EXTENSIONS=ON \
56+
-DDBC_TEST_LOCALE_INDEPENDENCE=ON
57+
58+
- name: Build tests + lib
59+
working-directory: ${{runner.workspace}}
60+
run: cmake --build build
61+
62+
- name: Run tests
63+
env:
64+
CTEST_OUTPUT_ON_FAILURE: 1
65+
working-directory: ${{runner.workspace}}
66+
run: ctest --output-on-failure --test-dir build -j `nproc`
67+
68+
windows-build:
69+
name: ${{matrix.os}}, ${{matrix.std}}, ${{matrix.build_type}}, ${{matrix.platform}}
70+
runs-on: ${{matrix.os}}
71+
strategy:
72+
matrix:
73+
os: [windows-2019, windows-2022]
74+
platform: [Win32, x64]
75+
build_type: [Debug, Release]
76+
std: [11]
77+
78+
steps:
79+
- uses: actions/checkout@v4
80+
81+
- name: Prepare environment
82+
run: |
83+
sudo apt-get update
84+
sudo apt-get install -y locales
85+
86+
sudo locale-gen de_DE.UTF-8
87+
88+
- name: Configure build
89+
working-directory: ${{runner.workspace}}
90+
env:
91+
CC: ${{matrix.cc}}
92+
CXX: ${{matrix.cxx}}
93+
run: |
94+
cmake -Bbuild -H$GITHUB_WORKSPACE `
95+
-A ${{matrix.platform}} `
96+
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} `
97+
-DCMAKE_CXX_STANDARD=${{matrix.std}} `
98+
-DCMAKE_CXX_STANDARD_REQUIRED=ON `
99+
-DCMAKE_CXX_EXTENSIONS=ON `
100+
-DDBC_TEST_LOCALE_INDEPENDENCE=ON
101+
102+
- name: Build tests + lib
103+
working-directory: ${{runner.workspace}}
104+
run: cmake --build build --config ${{matrix.build_type}} --parallel %NUMBER_OF_PROCESSORS%
105+
shell: cmd
106+
107+
- name: Run tests
108+
env:
109+
CTEST_OUTPUT_ON_FAILURE: 1
110+
working-directory: ${{runner.workspace}}
111+
run: ctest --output-on-failure --test-dir build -j %NUMBER_OF_PROCESSORS%
112+
shell: cmd
67113

68114
format-check:
69115
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)