diff --git a/ci/docker/ubuntu-24.04-cpp.dockerfile b/ci/docker/ubuntu-24.04-cpp.dockerfile index f662edc5365b..04e9eec5c29f 100644 --- a/ci/docker/ubuntu-24.04-cpp.dockerfile +++ b/ci/docker/ubuntu-24.04-cpp.dockerfile @@ -135,15 +135,26 @@ RUN if [ "${gcc_version}" = "" ]; then \ g++ \ gcc; \ else \ - if [ "${gcc_version}" -gt "14" ]; then \ + if [ "${gcc_version}" == "snapshot" ]; then \ apt-get update -y -q && \ apt-get install -y -q --no-install-recommends software-properties-common && \ - add-apt-repository ppa:ubuntu-toolchain-r/volatile; \ - fi; \ - apt-get update -y -q && \ - apt-get install -y -q --no-install-recommends \ + add-apt-repository ppa:ubuntu-toolchain-r/ppa && \ + apt-get update -y -q && \ + apt-get install -y -q --no-install-recommends \ + gcc-${gcc_version} ; \ + elif [ "${gcc_version}" -gt "14" ]; then \ + apt-get update -y -q && \ + apt-get install -y -q --no-install-recommends software-properties-common && \ + add-apt-repository ppa:ubuntu-toolchain-r/ppa && \ + apt-get update -y -q && \ + apt-get install -y -q --no-install-recommends \ + g++-${gcc_version} \ + gcc-${gcc_version} ; \ + else \ + apt-get install -y -q --no-install-recommends \ g++-${gcc_version} \ - gcc-${gcc_version} && \ + gcc-${gcc_version} ; \ + fi & \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${gcc_version} 100 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${gcc_version} 100 && \ update-alternatives --install \ diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index c8c311f5137d..22fee3da466b 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -962,6 +962,18 @@ tasks: flags: -e CC=gcc-14 -e CXX=g++-14 -e RapidJSON_SOURCE=BUNDLED image: ubuntu-cpp + test-ubuntu-24.04-cpp-gcc-15: + ci: github + template: docker-tests/github.linux.yml + params: + env: + CLANG_TOOLS: 15 + GCC_VERSION: snapshot + LLVM: 15 + UBUNTU: 24.04 + flags: -e CC=gcc-snapshot -e CXX=g++-snapshot -e RapidJSON_SOURCE=BUNDLED + image: ubuntu-cpp + test-skyhook-integration: ci: github template: docker-tests/github.linux.yml