Browse Source

CI: add clang 11, 12, 13, 14, and 15

Benoit Blanchon 2 years ago
parent
commit
a8c763c40e
2 changed files with 29 additions and 4 deletions
  1. 28 3
      .github/workflows/ci.yml
  2. 1 1
      README.md

+ 28 - 3
.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

+ 1 - 1
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