diff --git a/.github/workflows/ci-conan.yml b/.github/workflows/ci-conan.yml index 6668c7c5..5a182ac6 100644 --- a/.github/workflows/ci-conan.yml +++ b/.github/workflows/ci-conan.yml @@ -46,12 +46,26 @@ jobs: - { name: "Ubuntu GCC 10.1.0", os: ubuntu-18.04, - compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" } + compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" }, + lib: "libstdc++11" } - { name: "Ubuntu GCC 10.2.0", os: ubuntu-20.04, - compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" } + compiler: { type: GCC, version: 10, cc: "gcc-10", cxx: "g++-10" }, + lib: "libstdc++11" + } + - { + name: "Ubuntu Clang 12.0.0 + libstdc++11", + os: ubuntu-20.04, + compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" }, + lib: "libstdc++11" + } + - { + name: "Ubuntu Clang 12.0.0 + libc++", + os: ubuntu-20.04, + compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" }, + lib: "libc++" } # In case a Conan docker image will be needed to provide a specific configuration we can use a Docker image as follows # - { @@ -64,6 +78,15 @@ jobs: downcast_mode: [ "on", "auto" ] steps: - uses: actions/checkout@v2 + - name: Install Clang + if: matrix.config.compiler.type == 'CLANG' + shell: bash + working-directory: ${{ env.HOME }} + run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh ${{ matrix.config.compiler.version }} + sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev - name: Install Ninja # TODO Find a proper syntax to make the below work # if: !matrix.config.docker_image @@ -90,10 +113,8 @@ jobs: shell: bash run: | conan profile new --detect default - if [ ${{ matrix.config.compiler.type }} == 'GCC' ]; then - conan profile update settings.compiler.libcxx=libstdc++11 default - elif [ ${{ matrix.config.compiler.type }} == 'CLANG' ]; then - conan profile update settings.compiler.libcxx=libc++ default + if [ ${{ matrix.config.compiler.type }} == 'GCC' | ${{ matrix.config.compiler.type }} == 'CLANG' ]; then + conan profile update settings.compiler.libcxx=${{ matrix.config.lib }} default fi conan profile show default - name: Run Conan Package Tools