Skip to content

Commit

Permalink
Added windows runners to github.
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Apr 10, 2024
1 parent 38fb0af commit a3b47c4
Showing 1 changed file with 135 additions and 6 deletions.
141 changes: 135 additions & 6 deletions .github/workflows/actions_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
cpp: [11]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
- cc_ver: 7
cpp: 17
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
qt_ver: [5, 6]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand Down Expand Up @@ -214,7 +214,7 @@ jobs:


steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Add repositories
run: |
Expand Down Expand Up @@ -284,7 +284,7 @@ jobs:
cpp: 20

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand Down Expand Up @@ -342,7 +342,7 @@ jobs:
qt_ver: [5, 6]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Prepare Install
run: sudo apt-get update --fix-missing
Expand Down Expand Up @@ -392,3 +392,132 @@ jobs:
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1

build_msvc_2019:
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
arch: [Win32, x64]
cpp: [11, 14, 17]
qt_ver: [5, 6]
exclude:
- arch: Win32
qt_ver: 6

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install Qt
if: ${{matrix.cpp >= 17 && matrix.arch == 'x64'}}
shell: cmd
run: |
choco install curl
curl -L https://github.com/martinrotter/qt-minimalistic-builds/releases/download/${{env.QT_VER}}/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64.7z -o ${{runner.workspace}}/qt.7z
7z x ${{runner.workspace}}/qt.7z -o${{runner.workspace}}/qt
echo QT_VER=${{env.QT_VER}} >>%GITHUB_ENV%
echo QTDIR=${{runner.workspace}}/qt/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64 >>%GITHUB_ENV%
env:
QT_VER: ${{matrix.qt_ver == '5' && '5.15.3' || '6.2.2'}}

- name: Install Boost
shell: cmd
run: |
choco install boost-msvc-14.2
- name: Prepare externals
shell: cmd
run: |
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
COMMSDSL_PLATFORM: 'x64'
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
CC_TOOLS_QT_SKIP: ${{matrix.arch == 'Win32' && '1' || '0'}}

- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" -DBoost_USE_STATIC_LIBS=ON ^
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} ^
-DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_GEN_TOOLS=ON -DUBLOX_BUILD_TOOLS=${{env.BUILD_TOOLS}} ^
-DUBLOX_SCHEMA_FILES_LIST_FILE=%GITHUB_WORKSPACE%/basic_msgs.txt
env:
BUILD_TOOLS: "${{ matrix.cpp >= 17 && matrix.arch == 'x64' && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1

build_msvc_2022:
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
arch: [Win32, x64]
cpp: [11, 14, 17, 20]

steps:
- uses: actions/checkout@v4

- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Install Boost
if: matrix.arch == 'x64'
shell: cmd
run: |
choco install boost-msvc-14.3
- name: Prepare externals
shell: cmd
run: |
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
COMMSDSL_PLATFORM: 'x64'
CC_TOOLS_QT_SKIP: 1

- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install" -DBoost_USE_STATIC_LIBS=ON ^
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DUBLOX_TOOLS_QT_VER=${{matrix.qt_ver}} ^
-DUBLOX_GEN_PROTOCOL=ON -DUBLOX_GEN_TEST=ON -DUBLOX_BUILD_EXAMPLES=${{env.HAS_BOOST}} ^
-DUBLOX_SCHEMA_FILES_LIST_FILE=%GITHUB_WORKSPACE%/basic_msgs.txt
env:
HAS_BOOST: "${{ matrix.arch == 'x64' && 'ON' || 'OFF' }}"

- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}}
env:
VERBOSE: 1

0 comments on commit a3b47c4

Please sign in to comment.