Add clang-tools when available #156
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and publish docker images | |
env: | |
UBUNTU_16_04: "ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6" | |
UBUNTU_18_04: "ubuntu:18.04@sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98" | |
UBUNTU_20_04: "ubuntu:20.04@sha256:33a5cc25d22c45900796a1aca487ad7a7cb09f09ea00b779e3b2026b4fc2faba" | |
UBUNTU_22_04: "ubuntu:22.04@sha256:0bced47fffa3361afa981854fcabcd4577cd43cebbb808cea2b1f33a3dd7f508" | |
UBUNTU_24_04: "ubuntu:24.04@sha256:36fa0c7153804946e17ee951fdeffa6a1c67e5088438e5b90de077de5c600d4c" | |
on: | |
push: | |
jobs: | |
clang: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- { clang_version: "3.5", libcxx: "", build_libcxx: "./install-libcxx.sh 3.5 3.5.2 && ", container: $UBUNTU_16_04, std: "11" } | |
- { clang_version: "3.6", libcxx: "", build_libcxx: "./install-libcxx.sh 3.6 3.6.2 && ", container: $UBUNTU_16_04, std: "11 14" } | |
- { clang_version: "3.7", libcxx: "", build_libcxx: "./install-libcxx.sh 3.7 3.7.1 && ", container: $UBUNTU_16_04, std: "11 14" } # no sanitizers! | |
- { clang_version: "3.8", libcxx: "", build_libcxx: "./install-libcxx.sh 3.8 3.8.1 && ", container: $UBUNTU_16_04, std: "11 14" } | |
- { clang_version: "3.9", libcxx: "", build_libcxx: "./install-libcxx.sh 3.9 3.9.1 && ", container: $UBUNTU_16_04, std: "11 14" } | |
- { clang_version: "4.0", libcxx: "", build_libcxx: "./install-libcxx.sh 4.0 4.0.1 && ", container: $UBUNTU_18_04, std: "11 14" } | |
- { clang_version: "5.0", libcxx: "", build_libcxx: "./install-libcxx.sh 5.0 5.0.2 && ", container: $UBUNTU_18_04, std: "11 14 17" } | |
- { clang_version: "6.0", libcxx: "'libc++-dev libc++abi-dev'", build_libcxx: "", container: $UBUNTU_18_04, std: "11 14 17" } | |
- { clang_version: "7", libcxx: "'libc++-7-dev libc++abi-7-dev'", build_libcxx: "", container: $UBUNTU_18_04, std: "11 14 17" } | |
- { clang_version: "8", libcxx: "", build_libcxx: "./install-libcxx.sh 8 8.0.1 && ", container: $UBUNTU_20_04, std: "11 14 17" } | |
- { clang_version: "9", libcxx: "", build_libcxx: "./install-libcxx.sh 9 9.0.1 && ", container: $UBUNTU_20_04, std: "11 14 17" } | |
- { clang_version: "10", libcxx: "", build_libcxx: "./install-libcxx.sh 10 10.0.1 && ", container: $UBUNTU_20_04, std: "11 14 17 20" } | |
- { clang_version: "11", libcxx: "", build_libcxx: "./install-libcxx.sh 11 11.1.0 && ", container: $UBUNTU_20_04, std: "11 14 17 20" } | |
- { clang_version: "12", libcxx: "", build_libcxx: "./install-libcxx.sh 12 12.0.1 && ", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { clang_version: "13", libcxx: "", build_libcxx: "./install-libcxx.sh 13 13.0.1 && ", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { clang_version: "14", libcxx: "", build_libcxx: "./install-libcxx.sh 14 14.0.0 && ", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { clang_version: "15", libcxx: "", build_libcxx: "./install-libcxx.sh 15 15.0.7 && ", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { clang_version: "16", libcxx: "", build_libcxx: "", container: $UBUNTU_22_04, std: "11 14 17 20 23" } | |
- { clang_version: "17", libcxx: "", build_libcxx: "", container: $UBUNTU_22_04, std: "11 14 17 20 23" } | |
- { clang_version: "18", libcxx: "", build_libcxx: "", container: $UBUNTU_24_04, std: "11 14 17 20 23" } | |
- { clang_version: "19", libcxx: "", build_libcxx: "", container: $UBUNTU_24_04, std: "11 14 17 20 23 26" } | |
runs-on: ubuntu-latest | |
env: | |
IMAGE: ghcr.io/rollbear/clang:${{ matrix.version.clang_version }} | |
steps: | |
- name: Log-in | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: rollbear | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build image | |
run: | | |
PUSH="" | |
[ ${GITHUB_REF_NAME} == "main" ] && PUSH="--push" | |
docker buildx build ${PUSH} \ | |
--build-arg CONTAINER_ID=${{ matrix.version.container }} \ | |
--build-arg LIBCXX=${{ matrix.version.libcxx }} \ | |
--build-arg CLANG_VERSION=${{ matrix.version.clang_version }} \ | |
--build-arg BUILD_LIBCXX="${{ matrix.version.build_libcxx }}" \ | |
--build-arg CXX_STANDARDS="${{ matrix.version.std }}" \ | |
--platform linux/amd64 --tag $IMAGE -f $GITHUB_WORKSPACE/clang/Dockerfile . | |
gcc: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- { gcc_version: "4.8", container: $UBUNTU_18_04, std: "11" } | |
- { gcc_version: "4.9", container: $UBUNTU_16_04, std: "11 14" } | |
- { gcc_version: "5", container: $UBUNTU_18_04, std: "11 14 17" } | |
- { gcc_version: "6", container: $UBUNTU_18_04, std: "11 14 17" } | |
- { gcc_version: "7", container: $UBUNTU_20_04, std: "11 14 17" } | |
- { gcc_version: "8", container: $UBUNTU_20_04, std: "11 14 17" } | |
- { gcc_version: "9", container: $UBUNTU_22_04, std: "11 14 17" } | |
- { gcc_version: "10", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { gcc_version: "11", container: $UBUNTU_22_04, std: "11 14 17 20" } | |
- { gcc_version: "12", container: $UBUNTU_22_04, std: "11 14 17 20 23" } | |
- { gcc_version: "13", container: $UBUNTU_24_04, std: "11 14 17 20 23" } | |
- { gcc_version: "14", container: $UBUNTU_24_04, std: "11 14 17 20 23 26" } | |
runs-on: ubuntu-latest | |
env: | |
IMAGE: ghcr.io/rollbear/gcc:${{ matrix.version.gcc_version }} | |
steps: | |
- name: Log-in | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: rollbear | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build image | |
run: | | |
PUSH="" | |
[ ${GITHUB_REF_NAME} == "main" ] && PUSH="--push" | |
docker buildx build ${PUSH} \ | |
--build-arg CONTAINER_ID=${{ matrix.version.container }} \ | |
--build-arg GCC_VERSION=${{ matrix.version.gcc_version }} \ | |
--build-arg CXX_STANDARDS="${{ matrix.version.std }}" \ | |
--platform linux/amd64 --tag $IMAGE -f $GITHUB_WORKSPACE/gcc/Dockerfile . |