nightly-Windows #1160
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |