Skip to content

Prepare 3.10.281.1 with isolated SQLite and provider-aware packages #1552

Prepare 3.10.281.1 with isolated SQLite and provider-aware packages

Prepare 3.10.281.1 with isolated SQLite and provider-aware packages #1552

name: C/C++ CI on Windows (vs2022)
on:
push:
branches:
- master
- main
- dev
- fix/*
pull_request:
branches:
- master
- main
- dev
# Least-privilege GITHUB_TOKEN scope: this workflow only checks out source
# and runs the Visual Studio 2022 build. Explicit block satisfies CodeQL
# rule actions/missing-workflow-permissions if Actions analysis is enabled.
permissions:
contents: read
jobs:
no-exceptions:
name: Windows without C++ exceptions (${{ matrix.compiler }}, WinInet=${{ matrix.wininet }})
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
compiler: [msvc, clang-cl]
wininet: [OFF, ON]
steps:
- name: Checkout
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- name: Configure full SDK
shell: pwsh
run: |
$options = @(
'-S', 'tests/no-exceptions', '-B', 'out-no-exceptions',
'-G', 'Visual Studio 17 2022', '-A', 'x64',
'-DMATSDK_USE_WININET=${{ matrix.wininet }}'
)
if ('${{ matrix.compiler }}' -eq 'clang-cl') {
$options += @('-T', 'ClangCL')
}
cmake @options
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
- name: Compile full SDK
run: cmake --build out-no-exceptions --config Debug --target no-exceptions-smoke --parallel 2
- name: Exercise no-exceptions runtime failure paths
run: ctest --test-dir out-no-exceptions -C Debug --output-on-failure
- name: Public headers and exception macro regression
if: matrix.compiler == 'msvc' && matrix.wininet == 'OFF'
shell: cmd
run: tests\headers\check_public_headers.cmd
build:
runs-on: windows-2022
name: Build
steps:
- name: Checkout
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- name: Build
env:
SKIP_ARM_BUILD: 1
SKIP_ARM64_BUILD: 1
PlatformToolset: v143
VSTOOLS_VERSION: vs2022
shell: cmd
run: build-all-windows.bat