Update Docker distro, and latest CMAKE, GCC, CLANG and QT versions (5) #34
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 Docker Images | |
on: push | |
jobs: | |
cmake: | |
name: "CMake Docker builds" | |
strategy: | |
fail-fast: false | |
matrix: | |
distro: ['noble'] | |
cmake_version: ['3.28.6', '3.29.5'] | |
clang: [ | |
{major: 16, source: 'apt'}, | |
{major: 17, source: 'llvm'}, | |
{major: 18, source: 'llvm'} | |
] | |
gcc: [ | |
{major: 12, source: 'apt'}, | |
{major: 13, source: 'apt'}, | |
{major: 14, source: 'apt'} | |
] | |
qt: [ | |
{version: '6.5.3', arch: 'gcc_64'}, | |
{version: '6.6.3', arch: 'gcc_64'}, | |
{version: '6.7.1', arch: 'linux_gcc_64'} | |
] | |
include: | |
- distro: noble | |
cmake_version: '3.29.5' | |
clang: {major: 18, source: 'llvm'} | |
gcc: {major: 14, source: 'apt'} | |
qt: {version: '6.7.1', arch: 'linux_gcc_64'} | |
gcc_tags: | | |
arbmind/cmake-gcc:latest | |
ghcr.io/arbmind/cmake-gcc:latest | |
gcc_qt_tags: | | |
arbmind/cmake-gcc-qt:latest | |
ghcr.io/arbmind/cmake-gcc-qt:latest | |
gcc_qtgui_tags: | | |
arbmind/cmake-gcc-qtgui-dev:latest | |
ghcr.io/arbmind/cmake-gcc-qtgui-dev:latest | |
clang_tags: | | |
arbmind/cmake-clang:latest | |
ghcr.io/arbmind/cmake-clang:latest | |
clang_libstdcpp_tags: | | |
arbmind/cmake-clang-libstdcpp:latest | |
ghcr.io/arbmind/cmake-clang-libstdcpp:latest | |
clang_libstdcpp_qt_tags: | | |
arbmind/cmake-clang-libstdcpp-qt:latest | |
ghcr.io/arbmind/cmake-clang-libstdcpp-qt:latest | |
clang_libstdcpp_qtgui_tags: | | |
arbmind/cmake-clang-libstdcpp-qtgui-dev:latest | |
ghcr.io/arbmind/cmake-clang-libstdcpp-qtgui-dev:latest | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Login to GitHub Container Registry | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: CMake ${{ matrix.cmake_version }} + GCC ${{ matrix.gcc.major }} | |
uses: docker/build-push-action@v3 | |
with: | |
# buildkitd-flags: --debug | |
target: cmake-gcc | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-gcc:${{ matrix.cmake_version }}-${{ matrix.gcc.major }} | |
ghcr.io/arbmind/cmake-gcc:${{ matrix.cmake_version }}-${{ matrix.gcc.major }} | |
${{ matrix.gcc_tags }} | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
- name: CMake ${{ matrix.cmake_version }} + GCC ${{ matrix.gcc.major }} + Qt ${{ matrix.qt.version }} | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-gcc-qt | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-gcc-qt:${{ matrix.cmake_version }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
ghcr.io/arbmind/cmake-gcc-qt:${{ matrix.cmake_version }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
${{ matrix.gcc_qt_tags }} | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
- name: CMake ${{ matrix.cmake_version }} + GCC ${{ matrix.gcc.major }} + QtGui ${{ matrix.qt.version }} + Dev | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-qtgui-dev | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-gcc-qtgui-dev:${{ matrix.cmake_version }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
ghcr.io/arbmind/cmake-gcc-qtgui-dev:${{ matrix.cmake_version }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
${{ matrix.gcc_qtgui_tags }} | |
labels: | | |
Description="Ubuntu ${{ matrix.distro }} - Gcc${{ matrix.gcc.major }} + CMake ${{ matrix.cmake_version }} + QtGui ${{ matrix.qt.version }} + Dev" | |
org.opencontainers.image.source="https://github.com/arBmind/cmake-containers" | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
QTGUI_BASE_IMAGE=cmake-gcc-qt | |
- name: CMake ${{ matrix.cmake_version }} + Clang ${{ matrix.clang.major }} | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-clang | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-clang:${{ matrix.cmake_version }}-${{ matrix.clang.major }} | |
ghcr.io/arbmind/cmake-clang:${{ matrix.cmake_version }}-${{ matrix.clang.major }} | |
${{ matrix.clang_tags }} | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
CLANG_MAJOR=${{ matrix.clang.major }} | |
CLANG_SOURCE=${{ matrix.clang.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
- name: CMake ${{ matrix.cmake_version }} + Clang ${{ matrix.clang.major }} + LibStdC++ ${{ matrix.gcc.major }} | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-clang-libstdcpp | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-clang-libstdcpp:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }} | |
ghcr.io/arbmind/cmake-clang-libstdcpp:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }} | |
${{ matrix.clang_libstdcpp_tags }} | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
CLANG_MAJOR=${{ matrix.clang.major }} | |
CLANG_SOURCE=${{ matrix.clang.source }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
- name: CMake ${{ matrix.cmake_version }} + Clang ${{ matrix.clang.major }} + LibStdC++ ${{ matrix.gcc.major }} + Qt ${{ matrix.qt.version }} | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-clang-libstdcpp-qt | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-clang-libstdcpp-qt:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
ghcr.io/arbmind/cmake-clang-libstdcpp-qt:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
${{ matrix.clang_libstdcpp_qt_tags }} | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
CLANG_MAJOR=${{ matrix.clang.major }} | |
CLANG_SOURCE=${{ matrix.clang.source }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
- name: CMake ${{ matrix.cmake_version }} + Clang ${{ matrix.clang.major }} + LibStdC++ ${{ matrix.gcc.major }} + QtGui ${{ matrix.qt.version }} + Dev | |
uses: docker/build-push-action@v3 | |
with: | |
target: cmake-qtgui-dev | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: | | |
arbmind/cmake-clang-libstdcpp-qtgui-dev:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
ghcr.io/arbmind/cmake-clang-libstdcpp-qtgui-dev:${{ matrix.cmake_version }}-${{ matrix.clang.major }}-${{ matrix.gcc.major }}-${{ matrix.qt.version }} | |
${{ matrix.clang_libstdcpp_qtgui_tags }} | |
labels: | | |
Description="Ubuntu ${{ matrix.distro }} - Clang${{ matrix.clang.major }} + Libstdc++-${{ matrix.gcc.major }} + CMake ${{ matrix.cmake_version }} + QtGui ${{ matrix.qt.version }} + Dev" | |
org.opencontainers.image.source="https://github.com/arBmind/cmake-containers" | |
build-args: | | |
DISTRO=${{ matrix.distro }} | |
CLANG_MAJOR=${{ matrix.clang.major }} | |
CLANG_SOURCE=${{ matrix.clang.source }} | |
GCC_MAJOR=${{ matrix.gcc.major }} | |
GCC_SOURCE=${{ matrix.gcc.source }} | |
QT_VERSION=${{ matrix.qt.version }} | |
QT_ARCH=${{ matrix.qt.arch }} | |
CMAKE_VERSION=${{ matrix.cmake_version }} | |
QTGUI_BASE_IMAGE=cmake-clang-libstdcpp-qt |