Skip to content

Commit d09db32

Browse files
committed
Introduce my workflow for testing
1 parent 74b0b6c commit d09db32

File tree

2 files changed

+109
-4
lines changed

2 files changed

+109
-4
lines changed

.github/workflows/get-shared-matrix.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
get-configurations:
1717
runs-on: ubuntu-latest
1818
outputs:
19-
build-type: "['Debug', 'Release']"
20-
shared-libs: "[{'toggle': 'OFF', 'name': 'Static'}, {'toggle': 'ON', 'name': 'Shared'}]"
21-
openssl: "[{'toggle': 'OFF', 'name': 'noSSL'}, {'toggle': 'ON', 'name': 'SSL'}]"
22-
windows-options: "[{'cmake': 'Win32', 'choco_options': '--forceX86 --x86 --version 1.1.1.2100 -y --no-progress', 'address_model': '32'}, {'cmake': 'x64', 'choco_options': '--no-progress -y', 'address_model': '64'}]"
19+
build-type: "['Debug']"
20+
shared-libs: "[{'toggle': 'ON', 'name': 'Shared'}]"
21+
openssl: "[{'toggle': 'OFF', 'name': 'noSSL'}]"
22+
windows-options: "[{'cmake': 'x64', 'choco_options': '--no-progress -y', 'address_model': '64'}]"
2323
steps:
2424
- run: exit 0
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: nightly-Windows
2+
3+
on:
4+
push:
5+
6+
workflow_dispatch:
7+
inputs:
8+
run_tests:
9+
type: boolean
10+
description: Enable/Disable test stage
11+
default: true
12+
13+
jobs:
14+
shared-matrix:
15+
uses: ./.github/workflows/get-shared-matrix.yml
16+
17+
nightly-Windows:
18+
needs: shared-matrix
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
vc_boost:
23+
- name: msvc-latest_boost_1890
24+
image: 'windows-latest'
25+
boost_url: 'https://archives.boost.io/release/1.80.0/source/boost_1_89_0.tar.gz'
26+
boost_archive_name: 'boost_1_89_0.tar.gz'
27+
boost_folder_name: 'boost_1_89_0'
28+
boost_include_folder: 'C:\Boost\include\boost-1_89'
29+
options: ${{ fromJSON(needs.shared-matrix.outputs.windows-options) }}
30+
build_type: ${{ fromJSON(needs.shared-matrix.outputs.build-type) }}
31+
shared_libs: ${{ fromJSON(needs.shared-matrix.outputs.shared-libs) }}
32+
with_openssl: ${{ fromJSON(needs.shared-matrix.outputs.openssl) }}
33+
34+
runs-on: ${{ matrix.vc_boost.image }}
35+
env:
36+
JOB_NAME: Windows_(${{ matrix.vc_boost.name }},${{ matrix.options.address_model }},${{ matrix.build_type }},${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }})
37+
name: >-
38+
Windows
39+
(${{ matrix.vc_boost.name }}, ${{ matrix.options.address_model }}, ${{ matrix.build_type }}, ${{ matrix.shared_libs.name }}, ${{ matrix.with_openssl.name }})
40+
41+
steps:
42+
- uses: actions/checkout@v5
43+
44+
- name: Cache Boost Version
45+
id: cache-boost
46+
uses: actions/cache@v4
47+
with:
48+
path: C:\Boost
49+
key: ${{ matrix.vc_boost.name }}-${{ matrix.options.address_model }}-${{ matrix.build_type }}
50+
restore-keys: |
51+
${{ matrix.vc_boost.name }}-${{ matrix.options.address_model }}-${{ matrix.build_type }}
52+
53+
- name: Cache Thrift Version
54+
id: cache-thrift
55+
uses: actions/cache@v4
56+
with:
57+
path: C:\Thrift
58+
key: ${{ matrix.vc_boost.image }}-${{ matrix.options.address_model }}-thrift-0.13-${{ matrix.build_type }}
59+
restore-keys: |
60+
${{ matrix.vc_boost.image }}-${{ matrix.options.address_model }}-thrift-0.13-${{ matrix.build_type }}
61+
62+
- uses: ./.github/actions/build-test/windows
63+
with:
64+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
65+
BOOST_VERSION: ${{ matrix.boost.version }}
66+
THRIFT_VERSION: 0.13.0
67+
BUILD_TYPE: ${{ matrix.build_type }}
68+
SHARED_LIBS_TOGGLE: ${{ matrix.shared_libs.toggle }}
69+
OPENSSL_TOGGLE: ${{ matrix.with_openssl.toggle }}
70+
ARCH_CHOCO_OPTIONS: ${{ matrix.options.choco_options }}
71+
ARCH_ADDRESS_MODEL: ${{ matrix.options.address_model }}
72+
ARCH_CMAKE: ${{ matrix.options.cmake }}
73+
INSTALL_BOOST: ${{ steps.cache-boost.outputs.cache-hit != 'true' }}
74+
BOOST_URL: ${{ matrix.vc_boost.boost_url }}
75+
BOOST_ARCHIVE_NAME: ${{ matrix.vc_boost.boost_archive_name }}
76+
BOOST_FOLDER_NAME: ${{ matrix.vc_boost.boost_folder_name }}
77+
BOOST_INCLUDE_FOLDER: ${{ matrix.vc_boost.boost_include_folder }}
78+
INSTALL_THRIFT: ${{ steps.cache-thrift.outputs.cache-hit != 'true' }}
79+
RUN_TESTS: ${{ inputs.run_tests || github.event_name == 'push' }}
80+
HAZELCAST_ENTERPRISE_KEY: ${{ secrets.HAZELCAST_ENTERPRISE_KEY }}
81+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
82+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
83+
HZ_TEST_AWS_INSTANCE_PRIVATE_IP: ${{ secrets.HZ_TEST_AWS_INSTANCE_PRIVATE_IP }}
84+
85+
- name: Verify Installation
86+
run: |
87+
cmake -S .\examples -B build-examples `
88+
-A ${{ matrix.options.cmake }} `
89+
-DCMAKE_CONFIGURATION_TYPES=${{ matrix.build_type }} `
90+
-DCMAKE_PREFIX_PATH="C:\Boost;${{ github.workspace }}\destination" `
91+
-DWITH_OPENSSL=${{ matrix.with_openssl.toggle }}
92+
93+
cd build-examples
94+
95+
Get-ChildItem -Recurse *.vcxproj |
96+
Where-Object {
97+
$_.FullName -notmatch "CMakeFile|ZERO_CHECK|ALL_BUILD"
98+
} |
99+
ForEach-Object {
100+
$_.Name.Replace('.vcxproj', '')
101+
} |
102+
ForEach-Object {
103+
cmake --build . --config ${{ matrix.build_type }} --target $_
104+
cmake --build . --config ${{ matrix.build_type }} --target clean
105+
}

0 commit comments

Comments
 (0)