Skip to content

nightly-Windows

nightly-Windows #1160

name: nightly-Windows
on:
workflow_dispatch:
inputs:
run_tests:
type: boolean
description: Enable/Disable test stage
default: true
schedule:
- cron: '0 2 * * *'
jobs:
nightly-Windows:
strategy:
fail-fast: false
matrix:
vc_boost:
- name: msvc-2019_boost_1730
image: 'windows-2019'
boost_url: 'https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz'
boost_archive_name: 'boost_1_73_0.tar.gz'
boost_folder_name: 'boost_1_73_0'
boost_include_folder: 'C:\Boost\include\boost-1_73'
- name: msvc-2019_boost_1800
image: 'windows-2019'
boost_url: 'https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz'
boost_archive_name: 'boost_1_80_0.tar.gz'
boost_folder_name: 'boost_1_80_0'
boost_include_folder: 'C:\Boost\include\boost-1_80'
- name: msvc-2022_boost_1780
image: 'windows-2022'
boost_url: 'https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gz'
boost_archive_name: 'boost_1_78_0.tar.gz'
boost_folder_name: 'boost_1_78_0'
boost_include_folder: 'C:\Boost\include\boost-1_78'
- name: msvc-2022_boost_1800
image: 'windows-2022'
boost_url: 'https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz'
boost_archive_name: 'boost_1_80_0.tar.gz'
boost_folder_name: 'boost_1_80_0'
boost_include_folder: 'C:\Boost\include\boost-1_80'
- name: msvc-latest_boost_1800
image: 'windows-latest'
boost_url: 'https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz'
boost_archive_name: 'boost_1_80_0.tar.gz'
boost_folder_name: 'boost_1_80_0'
boost_include_folder: 'C:\Boost\include\boost-1_80'
arch:
- cmake: Win32
choco_options: '--forceX86 --x86 --version 1.1.1.2100 -y'
address_model: 32
- cmake: x64
choco_options: ''
address_model: 64
build_type:
- Debug
- Release
shared_libs:
- toggle: OFF
name: Static
- toggle: ON
name: Shared
with_openssl:
- toggle: OFF
name: 'noSSL'
- toggle: ON
name: 'SSL'
runs-on: ${{ matrix.vc_boost.image }}
env:
JOB_NAME: Windows_(${{ matrix.vc_boost.name }},${{ matrix.arch.address_model }},${{ matrix.build_type }},${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }})
name: >-
Windows
(${{ matrix.vc_boost.name }}, ${{ matrix.arch.address_model }}, ${{ matrix.build_type }}, ${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }})
steps:
- uses: actions/checkout@v4
- name: Cache Boost Version
id: cache-boost
uses: actions/cache@v3
with:
path: C:\Boost
key: ${{ matrix.vc_boost.name }}-${{ matrix.arch.address_model }}-${{ matrix.build_type }}
restore-keys: |
${{ matrix.vc_boost.name }}-${{ matrix.arch.address_model }}-${{ matrix.build_type }}
- name: Cache Thrift Version
id: cache-thrift
uses: actions/cache@v4
with:
path: C:\Thrift
key: ${{ matrix.vc_boost.image }}-${{ matrix.arch.address_model }}-thrift-0.13-${{ matrix.build_type }}
restore-keys: |
${{ matrix.vc_boost.image }}-${{ matrix.arch.address_model }}-thrift-0.13-${{ matrix.build_type }}
- uses: ./.github/actions/build-test/windows
with:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BOOST_VERSION: ${{ matrix.boost.version }}
THRIFT_VERSION: 0.13.0
BUILD_TYPE: ${{ matrix.build_type.type }}
SHARED_LIBS_TOGGLE: ${{ matrix.shared_libs.toggle }}
OPENSSL_TOGGLE: ${{ matrix.with_openssl.toggle }}
ARCH_CHOCO_OPTIONS: ${{ matrix.arch.choco_options }}
ARCH_ADDRESS_MODEL: ${{ matrix.arch.address_model }}
ARCH_CMAKE: ${{ matrix.arch.cmake }}
INSTALL_BOOST: ${{ steps.cache-boost.outputs.cache-hit != 'true' }}
BOOST_URL: ${{ matrix.vc_boost.boost_url }}
BOOST_ARCHIVE_NAME: ${{ matrix.vc_boost.boost_archive_name }}
BOOST_FOLDER_NAME: ${{ matrix.vc_boost.boost_folder_name }}
BOOST_INCLUDE_FOLDER: ${{ matrix.vc_boost.boost_include_folder }}
INSTALL_THRIFT: ${{ steps.cache-thrift.outputs.cache-hit != 'true' }}
RUN_TESTS: ${{ inputs.run_tests || github.event_name == 'schedule' }}
HAZELCAST_ENTERPRISE_KEY: ${{ secrets.HAZELCAST_ENTERPRISE_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
HZ_TEST_AWS_INSTANCE_PRIVATE_IP: ${{ secrets.HZ_TEST_AWS_INSTANCE_PRIVATE_IP }}
- name: Verify Installation
run: |
cmake -S .\examples -B build-examples `
-A ${{ matrix.arch.cmake }} `
-DCMAKE_CONFIGURATION_TYPES=${{ matrix.build_type }} `
-DCMAKE_PREFIX_PATH="C:\Boost;${{ github.workspace }}\destination" `
-DWITH_OPENSSL=${{ matrix.with_openssl.toggle }}
cd build-examples
Get-ChildItem -Recurse *.vcxproj |
Where-Object {
$_.FullName -notmatch "CMakeFile|ZERO_CHECK|ALL_BUILD"
} |
ForEach-Object {
$_.Name.Replace('.vcxproj', '')
} |
ForEach-Object {
cmake --build . --config ${{ matrix.build_type }} --target $_
cmake --build . --config ${{ matrix.build_type }} --target clean
}