mirror of https://github.com/rollbear/trompeloeil
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1835 lines
56 KiB
YAML
1835 lines
56 KiB
YAML
name: CI
|
|
|
|
# Trigger on pushes to all branches and for all pull-requests
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.config.name }}
|
|
runs-on: ${{ matrix.config.os }}
|
|
container: ${{ matrix.config.container }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
# # GCC-4.8
|
|
# - {
|
|
# name: "Linux GCC 4.8 C++11",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:4.8" },
|
|
# #cc: "gcc-4.8", cxx: "g++-4.8",
|
|
# compiler: gcc,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# }
|
|
# # GCC-4.9
|
|
# - {
|
|
# name: "Linux GCC 4.9 C++11",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:4.9" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux GCC 4.9 C++14",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:4.9" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# }
|
|
# # GCC-5
|
|
# - {
|
|
# name: "Linux GCC 5 C++11",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:5" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux GCC 5 C++14",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:5" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux GCC 5 C++17",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:5" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# }
|
|
# # GCC-6
|
|
# - {
|
|
# name: "Linux GCC 6 C++11",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:6" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux GCC 6 C++14",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:6" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux GCC 6 C++17",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/gcc:6" },
|
|
# compiler: gcc,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# }
|
|
|
|
# GCC-7
|
|
- {
|
|
name: "Linux GCC 7 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:7" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 7 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:7" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 7 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:7" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# GCC-8
|
|
- {
|
|
name: "Linux GCC 8 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:8" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 8 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:8" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 8 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:8" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# GCC-9
|
|
- {
|
|
name: "Linux GCC 9 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:9" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 9 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:9" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 9 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:9" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# GCC-10
|
|
- {
|
|
name: "Linux GCC 10 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:10" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 10 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:10" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 10 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:10" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 10 C++20",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:10" },
|
|
compiler: gcc,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# GCC-11
|
|
- {
|
|
name: "Linux GCC 11 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:11" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 11 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:11" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 11 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:11" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 11 C++20",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:11" },
|
|
compiler: gcc,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# GCC-12
|
|
- {
|
|
name: "Linux GCC 12 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:12" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 12 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:12" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 12 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:12" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 12 C++20",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:12" },
|
|
compiler: gcc,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 12 C++23",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:12" },
|
|
compiler: gcc,
|
|
cxx_standard: 23,
|
|
cxx_asan: true,
|
|
}
|
|
# GCC-13
|
|
- {
|
|
name: "Linux GCC 13 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:13" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 13 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:13" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 13 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:13" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 13 C++20",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:13" },
|
|
compiler: gcc,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 13 C++23",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:13" },
|
|
compiler: gcc,
|
|
cxx_standard: 23,
|
|
cxx_asan: true,
|
|
}
|
|
# GCC-14
|
|
- {
|
|
name: "Linux GCC 14 C++11",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:14" },
|
|
compiler: gcc,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 14 C++14",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:14" },
|
|
compiler: gcc,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 14 C++17",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:14" },
|
|
compiler: gcc,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 14 C++20",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:14" },
|
|
compiler: gcc,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
}
|
|
- {
|
|
name: "Linux GCC 14 C++23",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/gcc:14" },
|
|
compiler: gcc,
|
|
cxx_standard: 23,
|
|
cxx_asan: true,
|
|
}
|
|
|
|
# # Clang-3.5
|
|
# - {
|
|
# name: "Linux Clang 3.5 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.5" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# #- {
|
|
# # name: "Linux Clang 3.5 C++14 / libstdc++",
|
|
# # os: ubuntu-latest,
|
|
# # container: { image: "ghcr.io/rollbear/clang:3.5" },
|
|
# # compiler: clang,
|
|
# # cxx_standard: 14,
|
|
# # cxx_asan: false,
|
|
# # libcxx: false
|
|
# #}
|
|
# - {
|
|
# name: "Linux Clang 3.5 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.5" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.5 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.5" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# no_coverage: true,
|
|
# }
|
|
# # Clang-3.6
|
|
# - {
|
|
# name: "Linux Clang 3.6 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.6" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.6 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.6" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# no_coverage: true
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.6 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.6" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.6 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.6" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# no_coverage: true
|
|
# }
|
|
# # Clang-3.7
|
|
# - {
|
|
# name: "Linux Clang 3.7 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.7 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: false,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.7 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.7 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# # Clang-3.8
|
|
# - {
|
|
# name: "Linux Clang 3.8 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.8" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.8 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.8" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.8 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.8" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.8 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.8" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# # Clang-3.9
|
|
# - {
|
|
# name: "Linux Clang 3.9 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.9" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.9 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.9" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.9 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.9" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 3.9 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:3.9" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# no_coverage: true
|
|
# }
|
|
# # Clang-4.0
|
|
# - {
|
|
# name: "Linux Clang 4.0 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:4.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 4.0 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:4.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 4.0 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:4.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 4.0 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:4.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# no_coverage: true
|
|
# }
|
|
# # Clang-5.0
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++17 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 5.0 C++17 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:5.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
#
|
|
# # Clang-6.0
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++17 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 6.0 C++17 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:6.0" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
#
|
|
# # Clang-7
|
|
# - {
|
|
# name: "Linux Clang 7 C++11 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 7 C++14 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 7 C++17 / libstdc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: false,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 7 C++11 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 11,
|
|
# cxx_asan: false,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 7 C++14 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 14,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
# - {
|
|
# name: "Linux Clang 7 C++17 / libc++",
|
|
# os: ubuntu-latest,
|
|
# container: { image: "ghcr.io/rollbear/clang:7" },
|
|
# compiler: clang,
|
|
# cxx_standard: 17,
|
|
# cxx_asan: true,
|
|
# libcxx: true,
|
|
# }
|
|
|
|
# Clang-8
|
|
- {
|
|
name: "Linux Clang 8 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: false,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 8 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 8 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 8 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 8 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 8 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:8" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
|
|
# Clang-9
|
|
- {
|
|
name: "Linux Clang 9 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 9 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 9 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 9 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 9 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 9 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:9" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
|
|
# Clang-10
|
|
- {
|
|
name: "Linux Clang 10 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 10 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:10" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
|
|
# Clang-11
|
|
- {
|
|
name: "Linux Clang 11 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 11 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:11" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
|
|
# Clang-12
|
|
- {
|
|
name: "Linux Clang 12 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 12 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:12" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
|
|
# Clang-13
|
|
- {
|
|
name: "Linux Clang 13 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 13 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:13" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
cxx_flags: "-Wno-gnu-zero-variadic-macro-arguments"
|
|
}
|
|
|
|
# Clang-14
|
|
- {
|
|
name: "Linux Clang 14 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 14 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:14" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: true,
|
|
}
|
|
|
|
# Clang-15
|
|
- {
|
|
name: "Linux Clang 15 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 15 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:15" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
# Clang-16
|
|
- {
|
|
name: "Linux Clang 16 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++23 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 2b,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 16 C++23 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:16" },
|
|
compiler: clang,
|
|
cxx_standard: 2b,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
# clang-17
|
|
- {
|
|
name: "Linux Clang 17 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++23 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 23,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 17 C++23 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:17" },
|
|
compiler: clang,
|
|
cxx_standard: 23,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
# clang-18
|
|
- {
|
|
name: "Linux Clang 18 C++11 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++14 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++17 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++20 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++23 / libstdc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 23,
|
|
cxx_asan: true,
|
|
libcxx: false,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++11 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 11,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++14 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 14,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++17 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 17,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++20 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 20,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
- {
|
|
name: "Linux Clang 18 C++23 / libc++",
|
|
os: ubuntu-latest,
|
|
container: { image: "ghcr.io/rollbear/clang:18" },
|
|
compiler: clang,
|
|
cxx_standard: 23,
|
|
cxx_asan: false,
|
|
libcxx: true,
|
|
}
|
|
# AppleClang
|
|
- {
|
|
name: "macOS Clang C++11",
|
|
os: macos-latest,
|
|
cc: "clang", cxx: "clang++",
|
|
cxx_standard: 11,
|
|
cxx_asan: true
|
|
}
|
|
- {
|
|
name: "macOS Clang C++14",
|
|
os: macos-latest,
|
|
cc: "clang", cxx: "clang++",
|
|
cxx_standard: 14,
|
|
cxx_asan: true
|
|
}
|
|
- {
|
|
name: "macOS Clang C++17",
|
|
os: macos-latest,
|
|
cc: "clang", cxx: "clang++",
|
|
cxx_standard: 17,
|
|
cxx_asan: true
|
|
}
|
|
- {
|
|
name: "macOS Clang C++20",
|
|
os: macos-latest,
|
|
cc: "clang", cxx: "clang++",
|
|
cxx_standard: 20,
|
|
cxx_asan: true
|
|
}
|
|
- {
|
|
name: "macOS Clang C++23",
|
|
os: macos-latest,
|
|
cc: "clang", cxx: "clang++",
|
|
cxx_standard: 2b,
|
|
cxx_asan: true
|
|
}
|
|
|
|
# MSVC 2022
|
|
- {
|
|
name: "Windows MSVC 2022 C++11",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 11,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++11 preprocessor",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 11,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++14",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 14,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++14 preprocessor",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 14,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++17",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 17,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++17 preprocessor",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 17,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++20",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 20,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2022 C++20 preprocessor",
|
|
os: windows-2022,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 20,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
|
|
# MSVC 2019
|
|
- {
|
|
name: "Windows MSVC 2019 C++11",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 11,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++11 preprocessor",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 11,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++14",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 14,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++14 preprocessor",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 14,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++17",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 17,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++17 preprocessor",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 17,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++20",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 20,
|
|
}
|
|
- {
|
|
name: "Windows MSVC 2019 C++20 preprocessor",
|
|
os: windows-2019,
|
|
cc: "cl", cxx: "cl",
|
|
cxx_standard: 20,
|
|
cxx_flags: "/Zc:preprocessor"
|
|
}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure MSVC console (Windows)
|
|
if: startsWith(matrix.config.os, 'windows')
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
- name: Set MacOS compiler env
|
|
id: set_macos_cc_cxx
|
|
if: startsWith(matrix.config.os, 'macos')
|
|
shell: bash
|
|
run: |
|
|
env brew install parallel ninja
|
|
echo "CC=clang" >> $GITHUB_ENV
|
|
echo "CXX=clang++" >> $GITHUB_ENV
|
|
|
|
- name: Verify compilation errors
|
|
if: (!startsWith(matrix.config.os, 'windows'))
|
|
shell: bash
|
|
run: |
|
|
CXXFLAGS="-std=c++${{ matrix.config.cxx_standard }}" ./check_errors.sh
|
|
|
|
- name: Configure
|
|
shell: bash
|
|
run: |
|
|
STD=${{ matrix.config.cxx_standard }}
|
|
if [ -n "${{ matrix.config.cxx_flags }}" ]
|
|
then
|
|
cxx_flags="${{matrix.config.cxx_flags }}"
|
|
fi
|
|
if [ "x${{ matrix.config.libcxx }}" == "xtrue" ]
|
|
then
|
|
cxx_flags="${cxx_flags} -stdlib=libc++ -Wno-unused-command-line-argument"
|
|
link_flags="${link_flags} -lc++abi"
|
|
STDLIB="libc++"
|
|
fi
|
|
if [ "$RUNNER_OS" == "Linux" ]
|
|
then
|
|
LINKER=`which mold || which gold`
|
|
if [ -n "$LINKER" ]
|
|
then
|
|
LINKER=`basename $LINKER`
|
|
# ugly hack for gcc-9
|
|
echo "" | $CXX -E -fuse-ld=$LINKER - 2>&1 > /dev/null || LINKER=gold
|
|
link_flags="${link_flags} -fuse-ld=$LINKER"
|
|
fi
|
|
fi
|
|
if [ "x${{ matrix.config.cxx_asan }}" == "xtrue" ]
|
|
then
|
|
cxx_flags="${cxx_flags} -fno-omit-frame-pointer"
|
|
fi
|
|
[ -n "${{ matrix.config.no_coverage }}" ] || {
|
|
echo ${{ matrix.config.name }} | grep -q -e '^Windows' || cxx_flags="${cxx_flags} --coverage"
|
|
}
|
|
cmake \
|
|
-S . \
|
|
-B build \
|
|
-D TROMPELOEIL_BUILD_TESTS=yes \
|
|
-D CMAKE_BUILD_TYPE=Debug \
|
|
-D CMAKE_VERBOSE_MAKEFILE=ON \
|
|
-D CXX_STANDARD:STRING=${STD} \
|
|
-D CMAKE_PREFIX_PATH="/usr/local/lib/c++${STD}${STDLIB}" \
|
|
-D CMAKE_CXX_FLAGS:STRING="${cxx_flags}" \
|
|
-D CMAKE_EXE_LINKER_FLAGS:STRING="${link_flags}" \
|
|
-D SANITIZE=${{matrix.config.cxx_asan}} \
|
|
${{ matrix.config.cmake_args }} \
|
|
${extra_cmake_args} \
|
|
-G Ninja
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: |
|
|
cmake --build build --target self_test
|
|
|
|
- name: Run tests
|
|
shell: bash
|
|
run: |
|
|
./build/test/self_test
|
|
|
|
- name: Collect coverage
|
|
if: (!startsWith(matrix.config.name, 'windows') && !matrix.config.no_coverage)
|
|
run: |
|
|
COV=`echo "${{ matrix.config.name }}}" | grep -q -e "Linux.*Clang" && echo "llvm-cov gcov"|| echo gcov`
|
|
${COV} -abcfup `find build/test -name "*.gcno"`
|
|
ls *.gcov| grep -v 'include#trompeloeil'|xargs rm
|
|
find . -name "*test*.gcno" -exec rm {} \;
|
|
|
|
- name: Upload coverage
|
|
if: (!startsWith(matrix.config.name, 'windows') && !matrix.config.no_coverage) && github.repository == 'rollbear/trompeloeil'
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
name: "${{ matrix.config.name }}"
|
|
fail_ci_if_error: false
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
verbose: true
|
|
|