Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci-win-2019 #3239

Merged
merged 45 commits into from
Nov 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
e4d1049
ci-win-2019
gabime Nov 2, 2024
3388afd
try matrix for win ci
gabime Nov 2, 2024
0827426
try matrix for win ci
gabime Nov 2, 2024
12f7e4e
try matrix for win ci
gabime Nov 2, 2024
ece7a13
try matrix for win ci
gabime Nov 2, 2024
24a094b
try matrix for win ci
gabime Nov 2, 2024
7415b3e
Update ci.yml
gabime Nov 2, 2024
6644ccb
Update ci.yml
gabime Nov 2, 2024
cb16893
Update ci.yml
gabime Nov 2, 2024
928c0ca
Update ci.yml
gabime Nov 2, 2024
8b0174c
Update ci.yml
gabime Nov 2, 2024
53c0f4c
Update ci.yml
gabime Nov 2, 2024
286384b
Update ci.yml
gabime Nov 2, 2024
d2914cd
Update ci.yml
gabime Nov 2, 2024
d330e71
Update ci.yml
gabime Nov 2, 2024
c7e7850
Update ci.yml
gabime Nov 2, 2024
053231b
Update ci.yml
gabime Nov 2, 2024
9c0c5a1
Update ci.yml
gabime Nov 2, 2024
3bb16c0
Update ci.yml
gabime Nov 2, 2024
40d6bdb
Update ci.yml
gabime Nov 2, 2024
3a8940f
Update ci.yml
gabime Nov 2, 2024
e2b70b6
Update ci.yml
gabime Nov 2, 2024
93d26ea
Update ci.yml
gabime Nov 2, 2024
72a4e23
Update ci.yml
gabime Nov 2, 2024
e6160af
Update ci.yml
gabime Nov 2, 2024
4a4107a
Update ci.yml
gabime Nov 2, 2024
832ed9f
Update ci.yml
gabime Nov 2, 2024
25b9f24
Update ci.yml
gabime Nov 2, 2024
60f17e1
Update ci.yml
gabime Nov 2, 2024
a38a1fc
Update ci.yml
gabime Nov 2, 2024
8cd7906
Update ci.yml
gabime Nov 2, 2024
d6efb84
Update ci.yml
gabime Nov 2, 2024
21bf33b
Update ci.yml
gabime Nov 2, 2024
4973823
Update ci.yml
gabime Nov 2, 2024
9b42d39
Refactor msvc ci
gabime Nov 2, 2024
54eaf98
renable gcc ci
gabime Nov 2, 2024
7e1a18c
Renamed ci.yml
gabime Nov 2, 2024
d99a36f
Rename ci
gabime Nov 2, 2024
373b8cd
Rename ci
gabime Nov 2, 2024
870d5e5
renamed ci files
gabime Nov 2, 2024
3cac3ae
renamed ci files
gabime Nov 2, 2024
853be53
Update windows.yml
gabime Nov 2, 2024
8ba697c
Update readme ci badges
gabime Nov 2, 2024
dd5eced
Update readme ci badges
gabime Nov 2, 2024
5b8fa11
Prevent double ci run if both push and pr happen
gabime Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 19 additions & 38 deletions .github/workflows/ci.yml → .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
name: ci
name: linux

on: [push, pull_request]

permissions:
contents: read

jobs:
build_linux:
# -----------------------------------------------------------------------
# Linux build matrix
# -----------------------------------------------------------------------
build:
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action == 'opened')
defaults:
run:
shell: bash
Expand All @@ -22,10 +29,10 @@ jobs:
image: ${{ matrix.config.compiler == 'clang' && 'teeks99/clang-ubuntu' || matrix.config.compiler }}:${{ matrix.config.version }}
name: "${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }})"
steps:
- uses: actions/checkout@main
- uses: actions/checkout@v4
- name: Setup
run: |
apt-get update
apt-get update
apt-get install -y curl git pkg-config libsystemd-dev
CMAKE_VERSION="3.24.2"
curl -sSL https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.sh -o install-cmake.sh
Expand Down Expand Up @@ -53,14 +60,17 @@ jobs:
-DSPDLOG_BUILD_TESTS=ON \
-DSPDLOG_BUILD_TESTS_HO=OFF \
-DSPDLOG_SANITIZE_ADDRESS=${{ matrix.config.asan || 'ON' }}
make -j2
ctest -j2 --output-on-failure
make -j 4
ctest -j 4 --output-on-failure

# -----------------------------------------------------------------------
# OS X build matrix
# -----------------------------------------------------------------------
build_osx:
runs-on: macOS-latest
name: "OS X Clang (C++11, Release)"
steps:
- uses: actions/checkout@main
- uses: actions/checkout@v4
- name: Build
run: |
mkdir -p build && cd build
Expand All @@ -74,35 +84,6 @@ jobs:
-DSPDLOG_BUILD_TESTS=ON \
-DSPDLOG_BUILD_TESTS_HO=OFF \
-DSPDLOG_SANITIZE_ADDRESS=OFF
make -j2
ctest -j2 --output-on-failure

build:
runs-on: windows-latest
name: "Windows MSVC 2022 (C++11, Release)"
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install CMake
run: choco install cmake --installargs '"ADD_CMAKE_TO_PATH=System"' --no-progress

- name: Configure CMake
run: |
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_CXX_STANDARD=11 `
-DSPDLOG_BUILD_EXAMPLE=ON `
-DSPDLOG_BUILD_EXAMPLE_HO=ON `
-DSPDLOG_BUILD_WARNINGS=ON `
-DSPDLOG_BUILD_BENCH=OFF `
-DSPDLOG_BUILD_TESTS=ON `
-DSPDLOG_BUILD_TESTS_HO=OFF `
-DSPDLOG_SANITIZE_ADDRESS=OFF

- name: Build
run: cmake --build build --config Release

- name: Run Tests
run: ctest --test-dir build -C Release --output-on-failure --verbose
make -j 4
ctest -j 4 --output-on-failure

29 changes: 29 additions & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: macos

on: [push, pull_request]

permissions:
contents: read

jobs:
build:
runs-on: macOS-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action == 'opened')
name: "macOS Clang (C++11, Release)"
steps:
- uses: actions/checkout@v4
- name: Build
run: |
mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=11 \
-DSPDLOG_BUILD_EXAMPLE=ON \
-DSPDLOG_BUILD_EXAMPLE_HO=ON \
-DSPDLOG_BUILD_WARNINGS=ON \
-DSPDLOG_BUILD_BENCH=OFF \
-DSPDLOG_BUILD_TESTS=ON \
-DSPDLOG_BUILD_TESTS_HO=OFF \
-DSPDLOG_SANITIZE_ADDRESS=OFF
make -j 4
ctest -j 4 --output-on-failure
149 changes: 149 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: windows

on: [push, pull_request]

permissions:
contents: read

jobs:
build:
runs-on: windows-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action == 'opened')
strategy:
fail-fast: true
matrix:
config:
- GENERATOR: "Visual Studio 17 2022"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'OFF'
WCHAR_FILES: 'OFF'
BUILD_EXAMPLE: 'OFF'
USE_STD_FORMAT: 'ON'
CXX_STANDARD: 20
- GENERATOR: "Visual Studio 17 2022"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'ON'
WCHAR_FILES: 'ON'
BUILD_EXAMPLE: 'OFF'
USE_STD_FORMAT: 'ON'
CXX_STANDARD: 20
- GENERATOR: "Visual Studio 17 2022"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'OFF'
WCHAR_FILES: 'OFF'
BUILD_EXAMPLE: 'ON'
USE_STD_FORMAT: 'OFF'
CXX_STANDARD: 17

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}}
shell: pwsh
run: |
mkdir build
cd build
cmake -G "${{ matrix.config.GENERATOR }}" -A x64 `
-D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} `
-D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} `
-D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} `
-D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} `
-D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} `
-D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} `
-D SPDLOG_BUILD_TESTS=ON `
-D SPDLOG_BUILD_TESTS_HO=OFF `
-D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} `
-D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} `
-D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} ..

- name: Build
shell: pwsh
run: |
cd build
cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }}

- name: Run Tests
shell: pwsh
env:
PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }}
run: |
build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe

# -----------------------------------------------------------------------
# MSVC 2019 build matrix
# -----------------------------------------------------------------------
build_2019:
runs-on: windows-2019
strategy:
fail-fast: true
matrix:
config:
- GENERATOR: "Visual Studio 16 2019"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'OFF'
WCHAR_FILES: 'OFF'
BUILD_EXAMPLE: 'ON'
USE_STD_FORMAT: 'OFF'
CXX_STANDARD: 17
- GENERATOR: "Visual Studio 16 2019"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'OFF'
WCHAR_FILES: 'OFF'
BUILD_EXAMPLE: 'ON'
USE_STD_FORMAT: 'OFF'
CXX_STANDARD: 14
- GENERATOR: "Visual Studio 16 2019"
BUILD_TYPE: Release
BUILD_SHARED: 'ON'
FATAL_ERRORS: 'ON'
WCHAR: 'OFF'
WCHAR_FILES: 'OFF'
BUILD_EXAMPLE: 'ON'
USE_STD_FORMAT: 'OFF'
CXX_STANDARD: 11

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: CMake ${{ matrix.config.GENERATOR }} CXX=${{matrix.config.CXX_STANDARD}} WCHAR=${{matrix.config.WCHAR_FILES}} STD_FORMAT=${{matrix.config.USE_STD_FORMAT}}
shell: pwsh
run: |
mkdir build
cd build
cmake -G "${{ matrix.config.GENERATOR }}" -A x64 `
-D CMAKE_BUILD_TYPE=${{ matrix.config.BUILD_TYPE }} `
-D BUILD_SHARED_LIBS=${{ matrix.config.BUILD_SHARED }} `
-D SPDLOG_WCHAR_SUPPORT=${{ matrix.config.WCHAR }} `
-D SPDLOG_WCHAR_FILENAMES=${{ matrix.config.WCHAR_FILES }} `
-D SPDLOG_BUILD_EXAMPLE=${{ matrix.config.BUILD_EXAMPLE }} `
-D SPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.BUILD_EXAMPLE }} `
-D SPDLOG_BUILD_TESTS=ON `
-D SPDLOG_BUILD_TESTS_HO=OFF `
-D SPDLOG_BUILD_WARNINGS=${{ matrix.config.FATAL_ERRORS }} `
-D SPDLOG_USE_STD_FORMAT=${{ matrix.config.USE_STD_FORMAT }} `
-D CMAKE_CXX_STANDARD=${{ matrix.config.CXX_STANDARD }} ..

- name: Build
shell: pwsh
run: |
cd build
cmake --build . --parallel --config ${{ matrix.config.BUILD_TYPE }}

- name: Run Tests
shell: pwsh
env:
PATH: ${{ env.PATH }};${{ github.workspace }}\build\_deps\catch2-build\src\${{ matrix.config.BUILD_TYPE }};${{ github.workspace }}\build\${{ matrix.config.BUILD_TYPE }}
run: |
build\tests\${{ matrix.config.BUILD_TYPE }}\spdlog-utests.exe
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# spdlog

Very fast, header-only/compiled, C++ logging library. [![ci](https://github.com/gabime/spdlog/actions/workflows/ci.yml/badge.svg)](https://github.com/gabime/spdlog/actions/workflows/ci.yml)  [![Build status](https://ci.appveyor.com/api/projects/status/d2jnxclg20vd0o50?svg=true&branch=v1.x)](https://ci.appveyor.com/project/gabime/spdlog) [![Release](https://img.shields.io/github/release/gabime/spdlog.svg)](https://github.com/gabime/spdlog/releases/latest)

[![ci](https://github.com/gabime/spdlog/actions/workflows/linux.yml/badge.svg)](https://github.com/gabime/spdlog/actions/workflows/linux.yml) 
[![ci](https://github.com/gabime/spdlog/actions/workflows/windows.yml/badge.svg)](https://github.com/gabime/spdlog/actions/workflows/windows.yml) 
[![ci](https://github.com/gabime/spdlog/actions/workflows/macos.yml/badge.svg)](https://github.com/gabime/spdlog/actions/workflows/macos.yml) 
[![Build status](https://ci.appveyor.com/api/projects/status/d2jnxclg20vd0o50?svg=true&branch=v1.x)](https://ci.appveyor.com/project/gabime/spdlog) [![Release](https://img.shields.io/github/release/gabime/spdlog.svg)](https://github.com/gabime/spdlog/releases/latest)
#### Fast, header-only/compiled, C++ logging library


## Install
#### Header-only version
Expand Down