mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-03-26 17:52:30 -04:00
80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
name: Traits CI
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
traits:
|
|
name: Traits (${{ matrix.target.name }})
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
target:
|
|
- { name: "danielaparker-jsoncons", tag: "0.168.7", version: "v0.168.7" }
|
|
- { name: "boost-json", tag: "1.78.0", version: "v1.80.0" }
|
|
- { name: "nlohmann-json", tag: "3.11.2", version: "v3.11.2" }
|
|
- { name: "kazuho-picojson", tag: "111c9be5188f7350c2eac9ddaedd8cca3d7bf394", version: "111c9be" }
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: lukka/get-cmake@latest
|
|
- name: setup
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DJWT_BUILD_EXAMPLES=OFF
|
|
sudo cmake --install .
|
|
|
|
# Install the JSON library
|
|
- if: matrix.target.name == 'danielaparker-jsoncons'
|
|
uses: ./.github/actions/install/danielaparker-jsoncons
|
|
with:
|
|
version: ${{matrix.target.tag}}
|
|
|
|
- if: matrix.target.name == 'boost-json'
|
|
uses: ./.github/actions/install/boost-json
|
|
with:
|
|
version: ${{matrix.target.tag}}
|
|
|
|
- if: matrix.target.name == 'nlohmann-json'
|
|
uses: ./.github/actions/install/nlohmann-json
|
|
with:
|
|
version: ${{matrix.target.tag}}
|
|
|
|
- if: matrix.target.name == 'kazuho-picojson'
|
|
run: rm -rf include/picojson
|
|
- if: matrix.target.name == 'kazuho-picojson'
|
|
uses: ./.github/actions/install/kazuho-picojson
|
|
with:
|
|
version: ${{matrix.target.tag}}
|
|
|
|
- name: test
|
|
working-directory: example/traits
|
|
run: |
|
|
cmake . -DCMAKE_FIND_DEBUG_MODE=1
|
|
cmake --build . --target ${{ matrix.target.name }}
|
|
./${{ matrix.target.name }}
|
|
|
|
- name: badge success
|
|
if: github.event_name == 'push' && success()
|
|
uses: ./.github/actions/badge/write
|
|
with:
|
|
category: traits
|
|
label: ${{ matrix.target.name }}
|
|
message: ${{ matrix.target.version }}
|
|
color: lightblue # turquoise
|
|
- name: badge failure
|
|
if: github.event_name == 'push' && !success()
|
|
uses: ./.github/actions/badge/write
|
|
with:
|
|
category: traits
|
|
label: ${{ matrix.target.name }}
|
|
message: ${{ matrix.target.version }}
|
|
color: orange
|
|
- if: github.event_name == 'push' && always()
|
|
uses: ./.github/actions/badge/publish
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|