diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github')
13 files changed, 541 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CODEOWNERS b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CODEOWNERS new file mode 100644 index 000000000..4d5ee0440 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CODEOWNERS @@ -0,0 +1,6 @@ +# JSON for Modern C++ has been originally written by Niels Lohmann. +# Since 2013 over 140 contributors have helped to improve the library. +# This CODEOWNERS file is only to make sure that @nlohmann is requested +# for a code review in case of a pull request. + +* @nlohmann diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CONTRIBUTING.md b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CONTRIBUTING.md new file mode 100644 index 000000000..a9c0b4692 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/CONTRIBUTING.md @@ -0,0 +1,71 @@ +[![Issue Stats](http://issuestats.com/github/nlohmann/json/badge/pr?style=flat)](http://issuestats.com/github/nlohmann/json) [![Issue Stats](http://issuestats.com/github/nlohmann/json/badge/issue?style=flat)](http://issuestats.com/github/nlohmann/json) + +# How to contribute + +This project started as a little excuse to exercise some of the cool new C++11 features. Over time, people actually started to use the JSON library (yey!) and started to help improve it by proposing features, finding bugs, or even fixing my mistakes. I am really [thankful](https://github.com/nlohmann/json/blob/master/README.md#thanks) for this and try to keep track of all the helpers. + +To make it as easy as possible for you to contribute and for me to keep an overview, here are a few guidelines which should help us avoid all kinds of unnecessary work or disappointment. And of course, this document is subject to discussion, so please [create an issue](https://github.com/nlohmann/json/issues/new/choose) or a pull request if you find a way to improve it! + +## Private reports + +Usually, all issues are tracked publicly on [GitHub](https://github.com/nlohmann/json/issues). If you want to make a private report (e.g., for a vulnerability or to attach an example that is not meant to be published), please send an email to <mail@nlohmann.me>. + +## Prerequisites + +Please [create an issue](https://github.com/nlohmann/json/issues/new/choose), assuming one does not already exist, and describe your concern. Note you need a [GitHub account](https://github.com/signup/free) for this. + +## Describe your issue + +Clearly describe the issue: + +- If it is a bug, please describe how to **reproduce** it. If possible, attach a complete example which demonstrates the error. Please also state what you **expected** to happen instead of the error. +- If you propose a change or addition, try to give an **example** how the improved code could look like or how to use it. +- If you found a compilation error, please tell us which **compiler** (version and operating system) you used and paste the (relevant part of) the error messages to the ticket. + +Please stick to the provided issue templates ([bug report](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/Bug_report.md), [feature request](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/Feature_request.md), or [question](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE/question.md)) if possible. + +## Files to change + +:exclamation: Before you make any changes, note the single-header file [`single_include/nlohmann/json.hpp`](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp) is **generated** from the source files in the [`include/nlohmann` directory](https://github.com/nlohmann/json/tree/develop/include/nlohmann). Please **do not** edit file `single_include/nlohmann/json.hpp` directly, but change the `include/nlohmann` sources and regenerate file `single_include/nlohmann/json.hpp` by executing `make amalgamate`. + +To make changes, you need to edit the following files: + +1. [`include/nlohmann/*`](https://github.com/nlohmann/json/tree/develop/include/nlohmann) - These files are the sources of the library. Before testing or creating a pull request, execute `make amalgamate` to regenerate `single_include/nlohmann/json.hpp`. + +2. [`test/src/unit-*.cpp`](https://github.com/nlohmann/json/tree/develop/test/src) - These files contain the [doctest](https://github.com/onqtam/doctest) unit tests which currently cover [100 %](https://coveralls.io/github/nlohmann/json) of the library's code. + + If you add or change a feature, please also add a unit test to this file. The unit tests can be compiled and executed with + + ```sh + $ mkdir build + $ cd build + $ cmake .. + $ cmake --build . + $ ctest + ``` + + The test cases are also executed with several different compilers on [Travis](https://travis-ci.org/nlohmann/json) once you open a pull request. + + +## Note + +- If you open a pull request, the code will be automatically tested with [Valgrind](http://valgrind.org)'s Memcheck tool to detect memory leaks. Please be aware that the execution with Valgrind _may_ in rare cases yield different behavior than running the code directly. This can result in failing unit tests which run successfully without Valgrind. +- There is a Makefile target `make pretty` which runs [Artistic Style](http://astyle.sourceforge.net) to fix indentation. If possible, run it before opening the pull request. Otherwise, we shall run it afterward. + +## Please don't + +- The C++11 support varies between different **compilers** and versions. Please note the [list of supported compilers](https://github.com/nlohmann/json/blob/master/README.md#supported-compilers). Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with `#ifdef`s or other means. +- Specifically, I am aware of compilation problems with **Microsoft Visual Studio** (there even is an [issue label](https://github.com/nlohmann/json/issues?utf8=â&q=label%3A%22visual+studio%22+) for these kind of bugs). I understand that even in 2016, complete C++11 support isn't there yet. But please also understand that I do not want to drop features or uglify the code just to make Microsoft's sub-standard compiler happy. The past has shown that there are ways to express the functionality such that the code compiles with the most recent MSVC - unfortunately, this is not the main objective of the project. +- Please refrain from proposing changes that would **break [JSON](https://json.org) conformance**. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension. + - We shall not extend the library to **support comments**. There is quite some [controversy](https://www.reddit.com/r/programming/comments/4v6chu/why_json_doesnt_support_comments_douglas_crockford/) around this topic, and there were quite some [issues](https://github.com/nlohmann/json/issues/376) on this. We believe that JSON is fine without comments. + - We do not preserve the **insertion order of object elements**. The [JSON standard](https://tools.ietf.org/html/rfc8259.html) defines objects as "an unordered collection of zero or more name/value pairs". To this end, this library does not preserve insertion order of name/value pairs. (In fact, keys will be traversed in alphabetical order as `std::map` with `std::less` is used by default.) Note this behavior conforms to the standard, and we shall not change it to any other order. If you do want to preserve the insertion order, you can specialize the object type with containers like [`tsl::ordered_map`](https://github.com/Tessil/ordered-map) or [`nlohmann::fifo_map`](https://github.com/nlohmann/fifo_map). + +- Please do not open pull requests that address **multiple issues**. + +## Wanted + +The following areas really need contribution: + +- Extending the **continuous integration** toward more exotic compilers such as Android NDK, Intel's Compiler, or the bleeding-edge versions Clang. +- Improving the efficiency of the **JSON parser**. The current parser is implemented as a naive recursive descent parser with hand coded string handling. More sophisticated approaches like LALR parsers would be really appreciated. That said, parser generators like Bison or ANTLR do not play nice with single-header files -- I really would like to keep the parser inside the `json.hpp` header, and I am not aware of approaches similar to [`re2c`](http://re2c.org) for parsing. +- Extending and updating existing **benchmarks** to include (the most recent version of) this library. Though efficiency is not everything, speed and memory consumption are very important characteristics for C++ developers, so having proper comparisons would be interesting. diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/FUNDING.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/FUNDING.yml new file mode 100644 index 000000000..a6c972e81 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: nlohmann +custom: http://paypal.me/nlohmann diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/Bug_report.md b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/Bug_report.md new file mode 100644 index 000000000..d0fbbdda0 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/Bug_report.md @@ -0,0 +1,57 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: 'kind: bug' +assignees: '' + +--- + +<!-- Provide a concise summary of the issue in the title above. --> + +#### What is the issue you have? + +<!-- Provide a detailed introduction to the issue itself, and why you consider it to be a bug. --> +<!-- If possible, be specific and add stack traces, error messages, etc. Avoid vague terms like "crash" or "doesn't work". --> + +#### Please describe the steps to reproduce the issue. + +<!-- Provide a link to a live example, or an unambiguous set of steps to --> +<!-- reproduce this bug. Include code to reproduce, if relevant --> + +1. +2. +3. + +#### Can you provide a small but working code example? + +<!-- Please understand that we cannot analyze and debug large code bases. --> + +#### What is the expected behavior? + +<!-- Tell us what should happen --> + +#### And what is the actual behavior instead? + +<!-- Tell us what happens instead. --> + +#### Which compiler and operating system are you using? + +<!-- Include as many relevant details about the environment you experienced the bug in. --> +<!-- Make sure you use a supported compiler, see https://github.com/nlohmann/json#supported-compilers. --> + +- Compiler: ___ +- Operating system: ___ + +#### Which version of the library did you use? + +<!-- Please add an `x` to the respective line. --> + +- [ ] latest release version 3.10.5 +- [ ] other release - please state the version: ___ +- [ ] the `develop` branch + +#### If you experience a compilation error: can you [compile and run the unit tests](https://github.com/nlohmann/json#execute-unit-tests)? + +- [ ] yes +- [ ] no - please copy/paste the error message below diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/config.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..0e9663384 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Ask a question + url: https://github.com/nlohmann/json/discussions + about: Ask questions and discuss with other community members diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/PULL_REQUEST_TEMPLATE.md b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..5f303a6e0 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,19 @@ +[Describe your pull request here. Please read the text below the line, and make sure you follow the checklist.] + +* * * + +## Pull request checklist + +Read the [Contribution Guidelines](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md) for detailed information. + +- [ ] Changes are described in the pull request, or an [existing issue is referenced](https://github.com/nlohmann/json/issues). +- [ ] The test suite [compiles and runs](https://github.com/nlohmann/json/blob/develop/README.md#execute-unit-tests) without error. +- [ ] [Code coverage](https://coveralls.io/github/nlohmann/json) is 100%. Test cases can be added by editing the [test suite](https://github.com/nlohmann/json/tree/develop/test/src). +- [ ] The source code is amalgamated; that is, after making changes to the sources in the `include/nlohmann` directory, run `make amalgamate` to create the single-header file `single_include/nlohmann/json.hpp`. The whole process is described [here](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md#files-to-change). + +## Please don't + +- The C++11 support varies between different **compilers** and versions. Please note the [list of supported compilers](https://github.com/nlohmann/json/blob/master/README.md#supported-compilers). Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with `#ifdef`s or other means. +- Specifically, I am aware of compilation problems with **Microsoft Visual Studio** (there even is an [issue label](https://github.com/nlohmann/json/issues?utf8=â&q=label%3A%22visual+studio%22+) for these kind of bugs). I understand that even in 2016, complete C++11 support isn't there yet. But please also understand that I do not want to drop features or uglify the code just to make Microsoft's sub-standard compiler happy. The past has shown that there are ways to express the functionality such that the code compiles with the most recent MSVC - unfortunately, this is not the main objective of the project. +- Please refrain from proposing changes that would **break [JSON](https://json.org) conformance**. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension. +- Please do not open pull requests that address **multiple issues**. diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/SECURITY.md b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/SECURITY.md new file mode 100644 index 000000000..4d010ebda --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Usually, all issues are tracked publicly on [GitHub](https://github.com/nlohmann/json/issues). If you want to make a private report (e.g., for a vulnerability or to attach an example that is not meant to be published), please send an email to <mail@nlohmann.me>. You can use [this key](https://keybase.io/nlohmann/pgp_keys.asc?fingerprint=797167ae41c0a6d9232e48457f3cea63ae251b69) for encryption. diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/config.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/config.yml new file mode 100644 index 000000000..7a8f41e6d --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/config.yml @@ -0,0 +1,19 @@ +# Configuration for sentiment-bot - https://github.com/behaviorbot/sentiment-bot + +# *Required* toxicity threshold between 0 and .99 with the higher numbers being the most toxic +# Anything higher than this threshold will be marked as toxic and commented on +sentimentBotToxicityThreshold: .7 + +# *Required* Comment to reply with +sentimentBotReplyComment: > + Please be sure to review the [code of conduct](https://github.com/nlohmann/json/blob/develop/CODE_OF_CONDUCT.md) and be respectful of other users. cc/ @nlohmann + + +# Configuration for request-info - https://github.com/behaviorbot/request-info + +# *Required* Comment to reply with +requestInfoReplyComment: > + We would appreciate it if you could provide us with more info about this issue or pull request! Please check the [issue template](https://github.com/nlohmann/json/blob/develop/.github/ISSUE_TEMPLATE.md) and the [pull request template](https://github.com/nlohmann/json/blob/develop/.github/PULL_REQUEST_TEMPLATE.md). + +# *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given +requestInfoLabelToAdd: "state: needs more info" diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/stale.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/stale.yml new file mode 100644 index 000000000..d30c78be7 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/stale.yml @@ -0,0 +1,17 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 30 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: "state: stale" +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/codeql-analysis.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..20275feac --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/codeql-analysis.yml @@ -0,0 +1,55 @@ +name: "Code scanning - action" + +on: + push: + branches: + - develop + - master + - release/* + pull_request: + schedule: + - cron: '0 19 * * 1' + +jobs: + CodeQL-Build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + # Override language selection by uncommenting this and choosing your languages + # with: + # languages: go, javascript, csharp, python, cpp, java + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # âšī¸ Command-line programs to run using the OS shell. + # đ https://git.io/JvXDl + + # âī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/macos.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/macos.yml new file mode 100644 index 000000000..f653e2b6b --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/macos.yml @@ -0,0 +1,44 @@ +name: macOS + +on: + push: + branches: + - develop + - master + - release/* + pull_request: + +jobs: + xcode: + runs-on: macos-10.15 + strategy: + matrix: + xcode: [12.4, 12.3, 12.2, 12.1.1, 12.1, 12, 11.7, 11.6, 11.5, 11.4.1, 11.3.1, 11.2.1, 10.3] + env: + DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DJSON_FastTests=ON + - name: build + run: cmake --build build --parallel 10 + - name: test + run: cd build ; ctest -j 10 --output-on-failure + + xcode_standards: + runs-on: macos-10.15 + strategy: + matrix: + standard: [11, 14, 17, 20] + env: + DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On -DCMAKE_CXX_STANDARD=${{ matrix.standard }} -DCMAKE_CXX_STANDARD_REQUIRED=ON + - name: build + run: cmake --build build --parallel 10 + - name: test + run: cd build ; ctest -j 10 --output-on-failure diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/ubuntu.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/ubuntu.yml new file mode 100644 index 000000000..eb544007e --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/ubuntu.yml @@ -0,0 +1,113 @@ +name: Ubuntu + +on: + push: + branches: + - develop + - master + - release/* + pull_request: + +jobs: + ci_test_clang: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_clang + + ci_test_gcc: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_gcc + + ci_static_analysis: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + strategy: + matrix: + target: [ci_clang_tidy, ci_cppcheck, ci_test_valgrind, ci_test_clang_sanitizer, ci_test_amalgamation, ci_clang_analyze, ci_cpplint, ci_cmake_flags, ci_single_binaries, ci_reproducible_tests, ci_non_git_tests, ci_offline_testdata, ci_infer] + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ${{ matrix.target }} + + ci_cmake_options: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + strategy: + matrix: + target: [ci_test_diagnostics, ci_test_noexceptions, ci_test_noimplicitconversions] + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ${{ matrix.target }} + + ci_test_coverage: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_coverage + - name: archive coverage report + uses: actions/upload-artifact@v2 + with: + name: code-coverage-report + path: /__w/json/json/build/html + - name: Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: /__w/json/json/build/json.info.filtered.noexcept + + ci_test_compilers: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + strategy: + matrix: + compiler: [g++-4.8, g++-4.9, g++-5, g++-6, g++-7, g++-8, g++-9, g++-10, clang++-3.5, clang++-3.6, clang++-3.7, clang++-3.8, clang++-3.9, clang++-4.0, clang++-5.0, clang++-6.0, clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12, clang++-13] + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_compiler_${{ matrix.compiler }} + + ci_test_standards: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + strategy: + matrix: + standard: [11, 14, 17, 20] + compiler: [gcc, clang] + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_${{ matrix.compiler }}_cxx${{ matrix.standard }} + + ci_cuda_example: + runs-on: ubuntu-latest + container: ghcr.io/nlohmann/json-ci:v2.2.0 + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -DJSON_CI=On + - name: build + run: cmake --build build --target ci_cuda_example diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/windows.yml b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/windows.yml new file mode 100644 index 000000000..597da4774 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json/.github/workflows/windows.yml @@ -0,0 +1,128 @@ +name: Windows + +on: + push: + branches: + - develop + - master + - release/* + pull_request: + +jobs: + mingw: + runs-on: windows-latest + strategy: + matrix: + architecture: [x64, x86] + + steps: + - uses: actions/checkout@v2 + - name: Set up MinGW + uses: egor-tensin/setup-mingw@v2 + with: + platform: ${{ matrix.architecture }} + - name: cmake + run: cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On + - name: build + run: cmake --build build --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C Debug --output-on-failure + + msvc2017: + runs-on: windows-2016 + strategy: + matrix: + build_type: [Debug, Release] + architecture: [Win32, x64] + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -G "Visual Studio 15 2017" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Release' && matrix.architecture == 'x64' + - name: cmake + run: cmake -S . -B build -G "Visual Studio 15 2017" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Release' && matrix.architecture != 'x64' + - name: cmake + run: cmake -S . -B build -G "Visual Studio 15 2017" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DJSON_FastTests=ON -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Debug' + - name: build + run: cmake --build build --config ${{ matrix.build_type }} --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure + + msvc2017_latest: + runs-on: windows-2016 + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -G "Visual Studio 15 2017" -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/permissive- /std:c++latest /utf-8 /W4 /WX" + - name: build + run: cmake --build build --config Release --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C Release --output-on-failure + + msvc2019: + runs-on: windows-latest + strategy: + matrix: + build_type: [Debug, Release] + architecture: [Win32, x64] + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Release' + - name: cmake + run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -DJSON_BuildTests=On -DJSON_FastTests=ON -DCMAKE_CXX_FLAGS="/W4 /WX" + if: matrix.build_type == 'Debug' + - name: build + run: cmake --build build --config ${{ matrix.build_type }} --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure + + msvc2019_latest: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -G "Visual Studio 16 2019" -DJSON_BuildTests=On -DCMAKE_CXX_FLAGS="/permissive- /std:c++latest /utf-8 /W4 /WX" + - name: build + run: cmake --build build --config Release --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C Release --output-on-failure + + clang: + runs-on: windows-latest + strategy: + matrix: + version: [11, 12] + + steps: + - uses: actions/checkout@v2 + - name: install Clang + run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}.0.0/LLVM-${{ matrix.version }}.0.0-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM" + - name: cmake + run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On + - name: build + run: cmake --build build --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure + + clang-cl-11: + runs-on: windows-latest + strategy: + matrix: + architecture: [Win32, x64] + + steps: + - uses: actions/checkout@v2 + - name: cmake + run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL -DJSON_BuildTests=On + - name: build + run: cmake --build build --config Debug --parallel 10 + - name: test + run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure |