diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0cee6f55..7c7a7acb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,29 +74,54 @@ jobs: clang: name: Clang needs: lint - runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: include: - clang: "3.9" cxxflags: "-stdlib=libc++" + runner: ubuntu-20.04 + archive: bionic - clang: "4.0" cxxflags: "-stdlib=libc++" + runner: ubuntu-20.04 + archive: bionic - clang: "5.0" + runner: ubuntu-20.04 + archive: bionic - clang: "6.0" + runner: ubuntu-20.04 + archive: bionic - clang: "7" + runner: ubuntu-20.04 - clang: "8" cxxflags: -fsanitize=leak -fno-sanitize-recover=all + runner: ubuntu-20.04 - clang: "9" cxxflags: -fsanitize=undefined -fno-sanitize-recover=all + runner: ubuntu-20.04 - clang: "10" cxxflags: -fsanitize=address -fno-sanitize-recover=all + runner: ubuntu-20.04 + - clang: "11" + runner: ubuntu-22.04 + - clang: "12" + runner: ubuntu-22.04 + - clang: "13" + runner: ubuntu-22.04 + - clang: "14" + runner: ubuntu-22.04 + - clang: "15" + runner: ubuntu-22.04 + runs-on: ${{ matrix.runner }} steps: + - name: Add archive repositories + if: matrix.archive + run: | + sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ ${{ matrix.archive }} main' + sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ ${{ matrix.archive }} universe' - name: Install run: | - sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ bionic main' - sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ bionic universe' sudo apt-get update sudo apt-get install -y clang-${{ matrix.clang }} - name: Checkout diff --git a/README.md b/README.md index d6687a1a..a7ae25fb 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). * Continuously tested on * [Visual Studio 2017, 2019, 2022](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/7.x) * [GCC 5, 6, 7, 8, 9, 10, 11](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) - * [Clang 3.9, 4.0, 5.0, 6.0, 7, 8, 9, 10](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) + * [Clang 3.9, 4.0, 5.0, 6.0, 7, 8, 9, 10, 11, 12, 13, 14, 15](https://github.com/bblanchon/ArduinoJson/actions?query=workflow%3A%22Continuous+Integration%22) * [Continuously fuzzed with Google OSS Fuzz](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson) * Passes all default checks of [clang-tidy](https://releases.llvm.org/10.0.0/tools/clang/tools/extra/docs/clang-tidy/) * Well documented