nightly-Windows #1538
This file contains hidden or 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: | |
| shared-matrix: | |
| uses: ./.github/workflows/get-shared-matrix.yml | |
| nightly-Windows: | |
| needs: shared-matrix | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| vc_boost: | |
| - name: msvc-latest_boost_1800 | |
| image: 'windows-latest' | |
| boost_url: 'https://archives.boost.io/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_1890 | |
| image: 'windows-latest' | |
| boost_url: 'https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.gz' | |
| boost_archive_name: 'boost_1_89_0.tar.gz' | |
| boost_folder_name: 'boost_1_89_0' | |
| boost_include_folder: 'C:\Boost\include\boost-1_89' | |
| options: ${{ fromJSON(needs.shared-matrix.outputs.windows-options) }} | |
| build_type: ${{ fromJSON(needs.shared-matrix.outputs.build-type) }} | |
| shared_libs: ${{ fromJSON(needs.shared-matrix.outputs.shared-libs) }} | |
| with_openssl: ${{ fromJSON(needs.shared-matrix.outputs.openssl) }} | |
| runs-on: ${{ matrix.vc_boost.image }} | |
| env: | |
| JOB_NAME: Windows_(${{ matrix.vc_boost.name }},${{ matrix.options.address_model }},${{ matrix.build_type }},${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }}) | |
| name: >- | |
| Windows | |
| (${{ matrix.vc_boost.name }}, ${{ matrix.options.address_model }}, ${{ matrix.build_type }}, ${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }}) | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Cache Boost Version | |
| id: cache-boost | |
| uses: actions/cache@v4 | |
| with: | |
| path: C:\Boost | |
| key: ${{ matrix.vc_boost.name }}-${{ matrix.options.address_model }}-${{ matrix.build_type }} | |
| restore-keys: | | |
| ${{ matrix.vc_boost.name }}-${{ matrix.options.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.options.address_model }}-thrift-0.13-${{ matrix.build_type }} | |
| restore-keys: | | |
| ${{ matrix.vc_boost.image }}-${{ matrix.options.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 }} | |
| SHARED_LIBS_TOGGLE: ${{ matrix.shared_libs.toggle }} | |
| OPENSSL_TOGGLE: ${{ matrix.with_openssl.toggle }} | |
| ARCH_CHOCO_OPTIONS: ${{ matrix.options.choco_options }} | |
| ARCH_ADDRESS_MODEL: ${{ matrix.options.address_model }} | |
| ARCH_CMAKE: ${{ matrix.options.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.options.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 | |
| } |