Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gabime/spdlog.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabi Melman <gmelman1@gmail.com>2022-10-03 18:52:35 +0300
committerGitHub <noreply@github.com>2022-10-03 18:52:35 +0300
commit936697e5b1944bf1630cfbb9e82144f8bdc32815 (patch)
tree89b3b616c2f9894d42ae43de275a1a61d86ca206
parent7fa59cf55509b6bb921df711d12e133ed35b5c75 (diff)
parentcf6cdc5ba6cba9293ffd823e2ec0d3fd6d8c1244 (diff)
Merge pull request #2500 from offa/ghactions_ci
Migrate to Github Actions CI
-rw-r--r--.github/workflows/ci.yml81
-rw-r--r--.travis.yml155
-rw-r--r--README.md2
-rwxr-xr-xscripts/ci_setup_clang.sh12
4 files changed, 94 insertions, 156 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..23fd4a3c
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,81 @@
+name: ci
+
+on: [push, pull_request]
+
+jobs:
+ build_linux:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ shell: bash
+ strategy:
+ matrix:
+ config:
+ - { compiler: gcc, version: 4.9, build_type: Release, cppstd: 11, examples: OFF, asan: OFF }
+ - { compiler: gcc, version: 7, build_type: Release, cppstd: 11 }
+ - { compiler: gcc, version: 9, build_type: Release, cppstd: 17 }
+ - { compiler: gcc, version: 11, build_type: Debug, cppstd: 20 }
+ - { compiler: gcc, version: 12, build_type: Release, cppstd: 20 }
+ - { compiler: clang, version: 3.5, build_type: Release, cppstd: 11, asan: OFF }
+ - { compiler: clang, version: 10, build_type: Release, cppstd: 11 }
+ - { compiler: clang, version: 10, build_type: Debug, cppstd: 17, asan: OFF }
+ - { compiler: clang, version: 12, build_type: Debug, cppstd: 17, asan: OFF }
+ - { compiler: clang, version: 15, build_type: Release, cppstd: 20, asan: OFF }
+ container:
+ 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
+ - name: Setup
+ run: |
+ apt-get update && apt-get install -y curl
+ 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
+ chmod +x install-cmake.sh
+ ./install-cmake.sh --prefix=/usr/local --skip-license
+ - name: Setup Compiler
+ if: matrix.config.compiler == 'clang'
+ run: |
+ if [[ "${{ matrix.config.version }}" -ge 4 ]]; then
+ scripts/ci_setup_clang.sh "${{ matrix.config.version }}"
+ echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
+ fi
+ echo "CC=clang-${{ matrix.config.version }}" >> $GITHUB_ENV
+ echo "CXX=clang++-${{ matrix.config.version }}" >> $GITHUB_ENV
+ - name: Build
+ run: |
+ mkdir -p build && cd build
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
+ -DCMAKE_CXX_STANDARD=${{ matrix.config.cppstd }} \
+ -DSPDLOG_BUILD_EXAMPLE=${{ matrix.config.examples || 'ON' }} \
+ -DSPDLOG_BUILD_EXAMPLE_HO=${{ matrix.config.examples || 'ON' }} \
+ -DSPDLOG_BUILD_WARNINGS=ON \
+ -DSPDLOG_BUILD_BENCH=OFF \
+ -DSPDLOG_BUILD_TESTS=ON \
+ -DSPDLOG_BUILD_TESTS_HO=OFF \
+ -DSPDLOG_SANITIZE_ADDRESS=${{ matrix.config.asan || 'ON' }}
+ make -j2
+ ctest -j2 --output-on-failure
+
+ build_osx:
+ runs-on: macOS-latest
+ name: "OS X Clang (C++11, Release)"
+ steps:
+ - uses: actions/checkout@main
+ - 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 -j2
+ ctest -j2 --output-on-failure
+
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 012360a1..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,155 +0,0 @@
-# Adapted from various sources, including:
-# - Louis Dionne's Hana: https://github.com/ldionne/hana
-# - Paul Fultz II's FIT: https://github.com/pfultz2/Fit
-# - Eric Niebler's range-v3: https://github.com/ericniebler/range-v3
-sudo: required
-language: cpp
-
-# gcc 4.9
-addons: &gcc49
- apt:
- packages:
- - g++-4.9
- sources:
- - ubuntu-toolchain-r-test
-
-# gcc 7.0
-addons: &gcc7
- apt:
- packages:
- - g++-7
- sources:
- - ubuntu-toolchain-r-test
-
-
-# gcc 9.0
-addons: &gcc9
- apt:
- packages:
- - g++-9
- sources:
- - ubuntu-toolchain-r-test
-
-# gcc 11.0
-addons: &gcc11
- apt:
- packages:
- - g++-11
- sources:
- - ubuntu-toolchain-r-test
-
-
-# Clang 3.5
-addons: &clang35
- apt:
- packages:
- - clang-3.5
- sources:
- - ubuntu-toolchain-r-test
- - llvm-toolchain-precise-3.5
-
-
-addons: &clang10
- apt:
- packages:
- - clang-10
- - lldb-10
- - lld-10
- sources:
- - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main"
- key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
-
-addons: &clang12
- apt:
- packages:
- - clang-12
- - lldb-12
- - lld-12
- sources:
- - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main"
- key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
-
-env:
- global:
- - BUILD_EXAMPLE='ON'
-
-matrix:
- include:
- # Test gcc-4.9: C++11, Build=Release
- - env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=11 BUILD_EXAMPLE='OFF'
- os: linux
- addons: *gcc49
-
- # Test gcc-7: C++11, Build=Release
- - env: GCC_VERSION=7 BUILD_TYPE=Release CPP=11
- os: linux
- addons: *gcc7
-
- # Test gcc-9: C++17, Build=Release
- - env: GCC_VERSION=9 BUILD_TYPE=Release CPP=17
- os: linux
- addons: *gcc9
-
- # Test gcc-11.0: C++20, Build=Debug
- - env: GCC_VERSION=11 BUILD_TYPE=Debug CPP=20 ASAN=Off
- os: linux
- dist: bionic
- addons: *gcc11
-
- # Test clang-3.5: C++11, Build=Release
- - env: CLANG_VERSION=3.5 BUILD_TYPE=Release CPP=11
- os: linux
- addons: *clang35
-
- # Text osx
- - env: BUILD_TYPE=Release CPP=11 ASAN=Off TSAN=Off
- os: osx
-
- # Test clang-10.0: C++11, Build=Release
- - env: CLANG_VERSION=10 BUILD_TYPE=Release CPP=11 ASAN=On
- os: linux
- dist: bionic
- addons: *clang10
-
- # Test clang-10.0: C++17, Build=Debug
- - env: CLANG_VERSION=10 BUILD_TYPE=Debug CPP=17 ASAN=Off
- os: linux
- dist: bionic
- addons: *clang10
-
-
- # Test clang-12.0: C++17, Build=Debug
- - env: CLANG_VERSION=12 BUILD_TYPE=Debug CPP=17 ASAN=Off
- os: linux
- dist: bionic
- addons: *clang12
-
-
-before_script:
- - if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
- - if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CXX="clang++" CC="clang"; fi
- - which $CXX
- - which $CC
- - $CXX --version
- - cmake --version
-
-script:
- - cd ${TRAVIS_BUILD_DIR}
- - mkdir -p build && cd build
- - |
- cmake .. \
- --warn-uninitialized \
- -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
- -DCMAKE_CXX_STANDARD=$CPP \
- -DSPDLOG_BUILD_EXAMPLE=$BUILD_EXAMPLE \
- -DSPDLOG_BUILD_EXAMPLE_HO=$BUILD_EXAMPLE \
- -DSPDLOG_BUILD_WARNINGS=ON \
- -DSPDLOG_BUILD_BENCH=OFF \
- -DSPDLOG_BUILD_TESTS=ON \
- -DSPDLOG_BUILD_TESTS_HO=OFF \
- -DSPDLOG_SANITIZE_ADDRESS=$ASAN
-
- - make VERBOSE=1 -j2
- - ctest -j2 --output-on-failure
-
diff --git a/README.md b/README.md
index 43f941b8..d3ab8b59 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# spdlog
-Very fast, header-only/compiled, C++ logging library. [![Build Status](https://app.travis-ci.com/gabime/spdlog.svg?branch=v1.x)](https://app.travis-ci.com/gabime/spdlog)&nbsp; [![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)
+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)&nbsp; [![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)
## Install
#### Header only version
diff --git a/scripts/ci_setup_clang.sh b/scripts/ci_setup_clang.sh
new file mode 100755
index 00000000..140f9f9d
--- /dev/null
+++ b/scripts/ci_setup_clang.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -ex
+
+VERSION=$1
+
+apt-get update
+apt-get install -y libc++-${VERSION}-dev libc++abi-${VERSION}-dev
+
+if [[ "${VERSION}" -ge 12 ]]; then
+ apt-get install -y --no-install-recommends libunwind-${VERSION}-dev
+fi