mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
Merge pull request #534 from tfussell/circleci
Translate travis to circleci
This commit is contained in:
commit
140e280210
78
.circleci/config.yml
Normal file
78
.circleci/config.yml
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
version: 2.1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
- image: lycantropos/cmake:3.9.5
|
||||||
|
parameters:
|
||||||
|
benchmarks:
|
||||||
|
default: "OFF"
|
||||||
|
type: string
|
||||||
|
build-type:
|
||||||
|
default: Release
|
||||||
|
type: string
|
||||||
|
coverage:
|
||||||
|
default: "OFF"
|
||||||
|
type: string
|
||||||
|
cxx-ver:
|
||||||
|
default: "11"
|
||||||
|
type: string
|
||||||
|
samples:
|
||||||
|
default: "OFF"
|
||||||
|
type: string
|
||||||
|
static:
|
||||||
|
default: "ON"
|
||||||
|
type: string
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: cmake -D XLNT_CXX_LANG=<< parameters.cxx-ver >> -D STATIC=<< parameters.static >> -D BENCHMARKS=<< parameters.benchmarks >> -D SAMPLES=<< parameters.samples >> -D COVERAGE=<< parameters.coverage >> -D CMAKE_BUILD_TYPE=<< parameters.build-type >> .
|
||||||
|
- run: cmake --build . -- -j2
|
||||||
|
- run: ./tests/xlnt.test
|
||||||
|
- when:
|
||||||
|
condition:
|
||||||
|
equal: [ "ON", << parameters.samples >> ]
|
||||||
|
steps:
|
||||||
|
- run: ./samples/sample-decrypt
|
||||||
|
- run: ./samples/sample-img2xlsx ./samples/data/penguin.jpg img.xlsx
|
||||||
|
- run: ./samples/sample-documentation
|
||||||
|
- when:
|
||||||
|
condition:
|
||||||
|
equal: [ "ON", << parameters.benchmarks >> ]
|
||||||
|
steps:
|
||||||
|
- run: ./benchmarks/benchmark-styles
|
||||||
|
- run: ./benchmarks/benchmark-writer
|
||||||
|
- when:
|
||||||
|
condition:
|
||||||
|
equal: [ "ON", << parameters.coverage >> ]
|
||||||
|
steps:
|
||||||
|
- run: lcov --directory source/CMakeFiles/xlnt.dir --capture --output-file coverage.info --base-directory ../source --no-external --gcov-tool /usr/bin/gcov-6
|
||||||
|
- run: lcov --output-file coverage.info --remove coverage.info source/detail/serialization/miniz.cpp
|
||||||
|
- run: i=$(dirname $(pwd))
|
||||||
|
- run: sed -i "s|$i/||" coverage.info
|
||||||
|
- run: cd ..
|
||||||
|
- run: coveralls-lcov build/coverage.info
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
build:
|
||||||
|
jobs:
|
||||||
|
- build:
|
||||||
|
name: tests
|
||||||
|
matrix:
|
||||||
|
parameters:
|
||||||
|
cxx-ver:
|
||||||
|
- "11"
|
||||||
|
- "17"
|
||||||
|
build-type:
|
||||||
|
- Release
|
||||||
|
- Debug
|
||||||
|
static:
|
||||||
|
- "ON"
|
||||||
|
- "OFF"
|
||||||
|
- build:
|
||||||
|
name: samples-benchmarks-coverage
|
||||||
|
cxx-ver: "11"
|
||||||
|
build-type: Debug
|
||||||
|
static: "ON"
|
||||||
|
samples: "ON"
|
||||||
|
benchmarks: "ON"
|
||||||
|
coverage: "OFF"
|
231
.travis.yml
231
.travis.yml
|
@ -1,231 +0,0 @@
|
||||||
# cpp takes longer
|
|
||||||
language: minimal
|
|
||||||
sudo: false
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
git:
|
|
||||||
depth: false
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
||||||
|
|
||||||
# set up build matrix
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
# ============= GCC ==================
|
|
||||||
# gcc-5, c++11, release build, dynamic linking
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- g++-5
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=g++-5
|
|
||||||
- C_COMPILER=gcc-5
|
|
||||||
- CXX_VER=11
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=OFF
|
|
||||||
- SAMPLES=OFF
|
|
||||||
- BENCHMARKS=OFF
|
|
||||||
- RELEASE=OFF
|
|
||||||
|
|
||||||
# ============= GCC ==================
|
|
||||||
# gcc-6, c++11, release build, dynamic linking
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- g++-6
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=g++-6
|
|
||||||
- C_COMPILER=gcc-6
|
|
||||||
- CXX_VER=11
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=OFF
|
|
||||||
- SAMPLES=OFF
|
|
||||||
- BENCHMARKS=OFF
|
|
||||||
- RELEASE=OFF
|
|
||||||
|
|
||||||
# gcc-7, c++14, release build, static linking
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- g++-7
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=g++-7
|
|
||||||
- C_COMPILER=gcc-7
|
|
||||||
- CXX_VER=14
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=ON
|
|
||||||
- SAMPLES=OFF
|
|
||||||
- BENCHMARKS=OFF
|
|
||||||
- RELEASE=OFF
|
|
||||||
|
|
||||||
# gcc-8, c++17, release build, static linking, samples + benchmarks compiled and run
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- g++-8
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=g++-8
|
|
||||||
- C_COMPILER=gcc-8
|
|
||||||
- CXX_VER=17
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=ON
|
|
||||||
- SAMPLES=ON
|
|
||||||
- BENCHMARKS=ON
|
|
||||||
- RELEASE=ON
|
|
||||||
|
|
||||||
# =========== CLANG =============
|
|
||||||
# clang 4, c++11, release build, dynamic linking
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
- llvm-toolchain-trusty-4.0
|
|
||||||
packages:
|
|
||||||
- clang-4.0
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=clang++-4.0
|
|
||||||
- C_COMPILER=clang-4.0
|
|
||||||
- CXX_VER=11
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=OFF
|
|
||||||
- SAMPLES=OFF
|
|
||||||
- BENCHMARKS=OFF
|
|
||||||
- RELEASE=OFF
|
|
||||||
|
|
||||||
# clang 5, c++14, release build, dynamic linking
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
- llvm-toolchain-trusty-5.0
|
|
||||||
packages:
|
|
||||||
- clang-5.0
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=clang++-5.0
|
|
||||||
- C_COMPILER=clang-5.0
|
|
||||||
- CXX_VER=14
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=ON
|
|
||||||
- SAMPLES=OFF
|
|
||||||
- BENCHMARKS=OFF
|
|
||||||
- RELEASE=OFF
|
|
||||||
|
|
||||||
# clang 6, c++17, release build, static linking, samples + benchmarks compiled and run
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
- llvm-toolchain-trusty-6.0
|
|
||||||
packages:
|
|
||||||
- clang-6.0
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=clang++-6.0
|
|
||||||
- C_COMPILER=clang-6.0
|
|
||||||
- CXX_VER=17
|
|
||||||
- BUILD_TYPE=Release
|
|
||||||
- COVERAGE=OFF
|
|
||||||
- STATIC=ON
|
|
||||||
- SAMPLES=ON
|
|
||||||
- BENCHMARKS=ON
|
|
||||||
- RELEASE=ON
|
|
||||||
|
|
||||||
# ============= CODE COVERAGE ===============
|
|
||||||
# gcc-6, c++11, debug build, static linking, code coverage enabled
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- g++-6
|
|
||||||
- lcov
|
|
||||||
env:
|
|
||||||
- CXX_COMPILER=g++-6
|
|
||||||
- C_COMPILER=gcc-6
|
|
||||||
- CXX_VER=11
|
|
||||||
- BUILD_TYPE=Debug
|
|
||||||
- COVERAGE=ON
|
|
||||||
- STATIC=ON
|
|
||||||
- SAMPLES=OFF
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- export CC=${C_COMPILER}
|
|
||||||
- export CXX=${CXX_COMPILER}
|
|
||||||
|
|
||||||
install:
|
|
||||||
- |
|
|
||||||
if [[ "${COVERAGE}" == "ON" ]]; then
|
|
||||||
gem install coveralls-lcov;
|
|
||||||
fi
|
|
||||||
- ${CXX} --version
|
|
||||||
- cmake --version
|
|
||||||
|
|
||||||
script:
|
|
||||||
- mkdir build
|
|
||||||
- cd build
|
|
||||||
- cmake .. -DXLNT_CXX_LANG=${CXX_VER} -DSTATIC=$STATIC -DBENCHMARKS=$BENCHMARKS -DSAMPLES=$SAMPLES -DCOVERAGE=$COVERAGE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DRELEASE=$RELEASE
|
|
||||||
- cmake --build . -- -j2
|
|
||||||
- ./tests/xlnt.test
|
|
||||||
- echo "samples" && echo 'travis_fold:start:samples'
|
|
||||||
- if [[ "${SAMPLES}" == "ON" ]]; then ./samples/sample-decrypt; fi
|
|
||||||
- if [[ "${SAMPLES}" == "ON" ]]; then ./samples/sample-img2xlsx "../samples/data/cafe.jpg" "img.xlsx"; fi
|
|
||||||
- if [[ "${SAMPLES}" == "ON" ]]; then ./samples/sample-documentation; fi
|
|
||||||
- echo 'travis_fold:end:samples'
|
|
||||||
- echo "benchmarks" && echo 'travis_fold:start:benchmarks'
|
|
||||||
- if [[ "${BENCHMARKS}" == "ON" ]]; then ./benchmarks/benchmark-styles; fi
|
|
||||||
- if [[ "${BENCHMARKS}" == "ON" ]]; then ./benchmarks/benchmark-writer; fi
|
|
||||||
- echo 'travis_fold:end:benchmarks'
|
|
||||||
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
- |
|
|
||||||
if [[ "${COVERAGE}" == "ON" ]]; then
|
|
||||||
lcov --directory source/CMakeFiles/xlnt.dir --capture --output-file coverage.info --base-directory ../source --no-external --gcov-tool /usr/bin/gcov-6
|
|
||||||
lcov --output-file coverage.info --remove coverage.info source/detail/serialization/miniz.cpp
|
|
||||||
i=$(dirname $(pwd))
|
|
||||||
sed -i "s|$i/||" coverage.info
|
|
||||||
cd ..
|
|
||||||
coveralls-lcov build/coverage.info
|
|
||||||
fi
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
provider: releases
|
|
||||||
api_key:
|
|
||||||
secure: "EJKEQkbmNFyXAJYOro7/wSlxSns4O4RAmht5PCBYuOgEqIbB1+QbQjNZd18KyCkqaHQEvww4hVGMdcFsTFnsznjGo6NnDtiYTdhiREtdUd6ohUD0eHTZ15ZL7mW1XR8HWqvv33piDX40UI/dFn1XYLnWunaLZvF5WPa9bzTsloaYHbjxoRw5S4fd0VyqZ2w2zuezCCRUezDcNGOxbVTbB3moSh+hpjrNkw7YxoPNm48CwGRVeRj28XuhDjobfRtPSZMb6Y+EDUnrIZI1mKvB1bkL8QR2ndBtqlG0BWvmEcdDuiQnraJk3iRIAU5T/ycyRqR2UKcW2Fv0iVp5SL9VuqhcvIUxTsYXzuNOZ3hKiWRTj6ndG+gDBsD1K5YwScZksAImwvj/VGEla9Q044W3PbYV2GUE++8mtiZUaxbkaP+uDFUBR5eXqAkte9mainwJ3eaMJ7Tx1KCqkzKO011nUasWfmBWxRUA8vm44SfzwzVfjXToLQZGe4KYzF2cHaXo2YIC48vE/DYs3VnVvnrCjNDO8Cr3m+lfdulhjIZlg+WymQcxuJs7LVzCW7mBPNnrUNOOrGCGP4f/hFxBLk8/eJDznIAzbW27Z1zAHn+MlbADRBzC0Y7cmme4Zu2W7Wy9NTvzNsKabOH/Fe1TfGetEEf6mZ5g7Q3+oZPJ2raLFD8="
|
|
||||||
file_glob: true
|
|
||||||
file: build/*.tar.gz
|
|
||||||
skip_cleanup: true
|
|
||||||
overwite: true
|
|
||||||
on:
|
|
||||||
repo: tfussell/xlnt
|
|
||||||
tags: true
|
|
BIN
samples/data/penguin.jpg
Normal file
BIN
samples/data/penguin.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Loading…
Reference in New Issue
Block a user