mirror of
https://github.com/zeux/pugixml.git
synced 2024-12-26 21:04:25 +08:00
Add GitHub Actions based build
This commit is contained in:
parent
7da44ddc5b
commit
0b793a3126
49
.github/workflows/build.yml
vendored
Normal file
49
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unix:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu, macos]
|
||||||
|
compiler: [g++, clang++]
|
||||||
|
defines: [standard, PUGIXML_WCHAR_MODE, PUGIXML_COMPACT, PUGIXML_NO_EXCEPTIONS]
|
||||||
|
exclude:
|
||||||
|
- os: macos
|
||||||
|
compiler: g++
|
||||||
|
name: ${{matrix.os}}
|
||||||
|
runs-on: ${{matrix.os}}-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: make test
|
||||||
|
run: |
|
||||||
|
set CXX=${{matrix.compiler}}
|
||||||
|
set DEFINES=${{matrix.defines}}
|
||||||
|
make test cxxstd=c++11 defines=$DEFINES config=release -j2
|
||||||
|
make test cxxstd=c++98 defines=$DEFINES config=debug -j2
|
||||||
|
make test defines=$DEFINES config=sanitize -j2
|
||||||
|
- name: make coverage
|
||||||
|
if: ${{matrix.os == 'ubuntu' && matrix.compiler == 'clang++'}}
|
||||||
|
run: |
|
||||||
|
set DEFINES=${{matrix.defines}}
|
||||||
|
make test defines=$DEFINES config=coverage -j2
|
||||||
|
bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov -X search -t ${{secrets.CODECOV_TOKEN}} -B ${{github.ref}}
|
||||||
|
|
||||||
|
windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
arch: [Win32, x64]
|
||||||
|
defines: [standard, PUGIXML_WCHAR_MODE, PUGIXML_COMPACT, PUGIXML_NO_EXCEPTIONS]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: cmake configure
|
||||||
|
run: cmake . -DPUGIXML_BUILD_TESTS=ON -DPUGIXML_BUILD_DEFINES=${{matrix.defines}} -A ${{matrix.arch}}
|
||||||
|
- name: cmake test
|
||||||
|
shell: bash # necessary for fail-fast
|
||||||
|
run: |
|
||||||
|
cmake --build . -- -property:Configuration=Debug -verbosity:minimal
|
||||||
|
Debug/pugixml-check.exe
|
||||||
|
cmake --build . -- -property:Configuration=Release -verbosity:minimal
|
||||||
|
Release/pugixml-check.exe
|
27
.travis.yml
27
.travis.yml
@ -1,27 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
compiler:
|
|
||||||
- clang
|
|
||||||
- gcc
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
exclude:
|
|
||||||
- os: osx
|
|
||||||
compiler: gcc
|
|
||||||
|
|
||||||
env:
|
|
||||||
- DEFINES=standard
|
|
||||||
- DEFINES=PUGIXML_WCHAR_MODE
|
|
||||||
- DEFINES=PUGIXML_COMPACT
|
|
||||||
- DEFINES=PUGIXML_NO_EXCEPTIONS
|
|
||||||
|
|
||||||
script:
|
|
||||||
- if [[ ! ( "$CXX" == "clang++" && "$TRAVIS_OS_NAME" == "linux" ) ]]; then make test cxxstd=c++11 defines=$DEFINES config=coverage -j2; fi
|
|
||||||
- if [[ "$CXX" == "clang++" ]]; then make test cxxstd=c++11 defines=$DEFINES config=sanitize -j2; fi
|
|
||||||
- make test cxxstd=c++11 defines=$DEFINES config=release -j2
|
|
||||||
- make test cxxstd=c++98 defines=$DEFINES config=debug -j2
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
- bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov
|
|
Loading…
x
Reference in New Issue
Block a user