Skip to content

Support fast_float 7.0.0 #619

Support fast_float 7.0.0

Support fast_float 7.0.0 #619

Workflow file for this run

name: Windows
on:
push:
branches:
- master
- v*/dev
- ci/*
paths:
- '.github/workflows/windows.yml'
- 'benchmark/**'
- 'cmake/**'
- 'examples/**'
- 'include/**'
- 'src/**'
- 'tests/unittests/**'
- '**/CMakeLists.txt'
pull_request:
branches:
- master
- v*/dev
- ci/*
paths:
- '.github/workflows/windows.yml'
- 'benchmark/**'
- 'cmake/**'
- 'examples/**'
- 'include/**'
- 'src/**'
- 'tests/unittests/**'
- '**/CMakeLists.txt'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}-${{ github.event_name == 'schedule' }}-${{ github.event.schedule }}
cancel-in-progress: true
env:
CCACHE_ABSSTDERR: true
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
CCACHE_DIR: D:/ccache
CCACHE_MAXSIZE: 50M
CCACHE_NOHASHDIR: true
CCACHE_SLOPPINESS: "pch_defines,time_macros"
CCACHE_UNIFY: true
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
jobs:
msvc:
runs-on: windows-${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ 2019, 2022 ]
platform: [ Win32, x64 ]
type: [ Debug, Release ]
std: [ 17 ]
include:
- os: 2019
platform: x64
type: Debug
std: 20
- os: 2022
platform: x64
type: Debug
std: 20
exclude:
# Segfaulting in the tests, not locally reproducible
- os: 2022
platform: Win32
type: Release
std: 17
- os: 2022
platform: x64
type: Release
std: 17
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create Build Environment
run: |
cmake -E make_directory ${{ runner.workspace }}/build
choco install ccache
- name: Load ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ github.workflow }}-win${{ matrix.os }}-msvc${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-win${{ matrix.os }}-msvc${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.ref }}
ccache-${{ github.workflow }}-win${{ matrix.os }}-msvc${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.base_ref }}
ccache-${{ github.workflow }}-win${{ matrix.os }}-msvc${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}
- name: Setup ccache
run: |
ccache --version
ccache --zero-stats
ccache --show-stats
ccache --show-config
- name: Run CMake
working-directory: ${{ runner.workspace }}/build
shell: bash
run: |
cmake -A ${{ matrix.platform }} -DCMAKE_CXX_STANDARD=${{ matrix.std }} -DSCN_CI=ON $GITHUB_WORKSPACE
- name: Build
working-directory: ${{ runner.workspace }}/build
run: cmake --build . --config ${{ matrix.type }} --parallel
- name: Show ccache stats
run: |
ccache --show-stats
- name: Test
working-directory: ${{ runner.workspace }}/build
run: ctest -C ${{ matrix.type }} --output-on-failure
clang-cl:
runs-on: windows-${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ 2019, 2022 ]
std: [ 17, 20 ]
platform: [ x64 ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create Build Environment
run: |
cmake -E make_directory ${{ runner.workspace }}/build
choco install ccache
- name: Load ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ github.workflow }}-win${{ matrix.os }}-clangcl${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-win${{ matrix.os }}-clangcl${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.ref }}
ccache-${{ github.workflow }}-win${{ matrix.os }}-clangcl${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}-${{ github.base_ref }}
ccache-${{ github.workflow }}-win${{ matrix.os }}-clangcl${{ matrix.platform }}-std${{ matrix.std }}-${{ matrix.type }}
- name: Setup ccache
run: |
ccache --version
ccache --zero-stats
ccache --show-stats
ccache --show-config
- name: Run CMake
working-directory: ${{ runner.workspace }}/build
shell: bash
run: |
cmake -T ClangCL -DCMAKE_CXX_STANDARD=${{ matrix.std }} -DCMAKE_BUILD_TYPE=Debug \
-DSCN_CI=ON -DSCN_PEDANTIC=ON -DSCN_WERROR=ON $GITHUB_WORKSPACE
- name: Build
working-directory: ${{ runner.workspace }}/build
run: cmake --build . --config Debug --parallel
- name: Show ccache stats
run: |
ccache --show-stats
- name: Test
working-directory: ${{ runner.workspace }}/build
run: ctest -C Debug --output-on-failure
msys:
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}
strategy:
fail-fast: false
matrix:
sys:
# MSYS recommended default:
# gcc, ucrt, libstdc++
- ucrt64
# gcc, msvcrt, libstdc++
- mingw32
- mingw64
# llvm, ucrt, libc++
- clang32
- clang64
# gcc, cygwin, libstdc++ (64-bit)
- msys
exclude:
# Buggy float parsing
- sys: clang32
- sys: clang64
- sys: msys
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
msystem: ${{ matrix.sys }}
install: >-
git
make
pacboy: >-
toolchain:p
cmake:p
ccache:p
ninja:p
python:p
- name: Checkout
uses: actions/checkout@v4
- name: Load ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ github.workflow }}-win2022-msys-${{ matrix.sys }}-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-win2022-msys-${{ matrix.sys }}-${{ github.ref }}
ccache-${{ github.workflow }}-win2022-msys-${{ matrix.sys }}-${{ github.base_ref }}
ccache-${{ github.workflow }}-win2022-msys-${{ matrix.sys }}
- name: Setup ccache
run: |
ccache --version
ccache --zero-stats
ccache --show-stats
ccache --show-config
- name: Build and test
run: |
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug \
-DSCN_DISABLE_TOP_PROJECT=ON -DSCN_PEDANTIC=ON -DSCN_TESTS=ON -DSCN_EXAMPLES=ON ..
cmake --build . --parallel -- -k 0
ctest --output-on-failure
- name: Show ccache stats
run: |
ccache --show-stats