Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[libc++] Rework docker files for buildbots.
I've been sitting on this change for a while and have been using it to build the bot images, so it should be upstream. This re-configures the docker build files to use docker-compose more heavily. This allows for composing large images with multiple compilers without invalidating the docker caches. After this commit I'll quickly switch all the current buildbots over to a new docker image, followed by another update to add new compilers
- Loading branch information
Showing
16 changed files
with
245 additions
and
133 deletions.
There are no files selected for viewing
Empty file.
This file was deleted.
Oops, something went wrong.
13 changes: 6 additions & 7 deletions
13
libcxx/utils/docker/debian9/Dockerfile.clang → ...docker/debian9/compilers/clang.Dockerfile
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,18 @@ | ||
#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===// | ||
#===----------------------------------------------------------------------===// | ||
# | ||
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
# See https://llvm.org/LICENSE.txt for license information. | ||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
# | ||
#===-------------------------------------------------------------------------------------------===// | ||
#===----------------------------------------------------------------------===// | ||
|
||
# Build GCC versions | ||
FROM ericwf/builder-base:latest | ||
FROM ericwf/llvm-builder-base:latest | ||
LABEL maintainer "libc++ Developers" | ||
|
||
ARG install_prefix | ||
ARG branch | ||
|
||
# Build additional LLVM versions | ||
|
||
ADD scripts/build_llvm_version.sh /tmp/build_llvm_version.sh | ||
RUN /tmp/build_llvm_version.sh --install "$install_prefix" --branch "$branch" | ||
ADD scripts/build_llvm_version.sh /tmp/ | ||
RUN /tmp/build_llvm_version.sh --install "$install_prefix" --branch "$branch" \ | ||
&& rm /tmp/build_llvm_version.sh |
35 changes: 35 additions & 0 deletions
35
libcxx/utils/docker/debian9/compilers/compiler-zoo.Dockerfile
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#===- libcxx/utils/docker/debian9/Dockerfile --------------------------------------------------===// | ||
# | ||
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
# See https://llvm.org/LICENSE.txt for license information. | ||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
# | ||
#===-------------------------------------------------------------------------------------------===// | ||
|
||
#===-------------------------------------------------------------------------------------------===// | ||
# compiler-zoo | ||
#===-------------------------------------------------------------------------------------------===// | ||
FROM ericwf/llvm-builder-base:latest AS compiler-zoo | ||
LABEL maintainer "libc++ Developers" | ||
|
||
# Copy over the GCC and Clang installations | ||
COPY --from=ericwf/compiler:gcc-4.8.5 /opt/gcc-4.8.5 /opt/gcc-4.8.5 | ||
COPY --from=ericwf/compiler:gcc-4.9.4 /opt/gcc-4.9.4 /opt/gcc-4.9.4 | ||
COPY --from=ericwf/compiler:gcc-5 /opt/gcc-5 /opt/gcc-5 | ||
COPY --from=ericwf/compiler:gcc-6 /opt/gcc-6 /opt/gcc-6 | ||
COPY --from=ericwf/compiler:gcc-7 /opt/gcc-7 /opt/gcc-7 | ||
COPY --from=ericwf/compiler:gcc-8 /opt/gcc-8 /opt/gcc-8 | ||
COPY --from=ericwf/compiler:gcc-tot /opt/gcc-tot /opt/gcc-tot | ||
|
||
COPY --from=ericwf/compiler:llvm-3.6 /opt/llvm-3.6 /opt/llvm-3.6 | ||
COPY --from=ericwf/compiler:llvm-3.7 /opt/llvm-3.7 /opt/llvm-3.7 | ||
COPY --from=ericwf/compiler:llvm-3.8 /opt/llvm-3.8 /opt/llvm-3.8 | ||
COPY --from=ericwf/compiler:llvm-3.9 /opt/llvm-3.9 /opt/llvm-3.9 | ||
COPY --from=ericwf/compiler:llvm-4 /opt/llvm-4 /opt/llvm-4 | ||
COPY --from=ericwf/compiler:llvm-5 /opt/llvm-5 /opt/llvm-5 | ||
COPY --from=ericwf/compiler:llvm-6 /opt/llvm-6 /opt/llvm-6 | ||
COPY --from=ericwf/compiler:llvm-7 /opt/llvm-7 /opt/llvm-7 | ||
COPY --from=ericwf/compiler:llvm-8 /opt/llvm-8 /opt/llvm-8 | ||
COPY --from=ericwf/compiler:llvm-tot /opt/llvm-tot /opt/llvm-tot | ||
|
||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
version: '3.7' | ||
|
||
x-build-clang: &build-clang | ||
context: . | ||
dockerfile: compilers/clang.Dockerfile | ||
|
||
x-build-gcc: &build-gcc | ||
context: . | ||
dockerfile: compilers/gcc.Dockerfile | ||
|
||
services: | ||
gcc-4.8.5: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-4_8_5-release | ||
install_prefix: /opt/gcc-4.8.5 | ||
cherry_pick: ec1cc0263f156f70693a62cf17b254a0029f4852 | ||
image: ericwf/compiler:gcc-4.8.5 | ||
gcc-4.9.4: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-4_9_4-release | ||
install_prefix: /opt/gcc-4.9.4 | ||
image: ericwf/compiler:gcc-4.9.4 | ||
gcc-5: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-5_5_0-release | ||
install_prefix: /opt/gcc-5 | ||
image: ericwf/compiler:gcc-5 | ||
gcc-6: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-6_5_0-release | ||
install_prefix: /opt/gcc-6 | ||
image: ericwf/compiler:gcc-6 | ||
gcc-7: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-7_4_0-release | ||
install_prefix: /opt/gcc-7 | ||
image: ericwf/compiler:gcc-7 | ||
gcc-8: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: gcc-8_2_0-release | ||
install_prefix: /opt/gcc-8 | ||
image: ericwf/compiler:gcc-8 | ||
# Add LLVM compilers | ||
llvm-3.6: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/3.6.x | ||
install_prefix: /opt/llvm-3.6 | ||
image: ericwf/compiler:llvm-3.6 | ||
llvm-3.7: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/3.7.x | ||
install_prefix: /opt/llvm-3.7 | ||
image: ericwf/compiler:llvm-3.7 | ||
llvm-3.8: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/3.8.x | ||
install_prefix: /opt/llvm-3.8 | ||
image: ericwf/compiler:llvm-3.8 | ||
llvm-3.9: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/3.9.x | ||
install_prefix: /opt/llvm-3.9 | ||
image: ericwf/compiler:llvm-3.9 | ||
llvm-4: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/4.x | ||
install_prefix: /opt/llvm-4 | ||
image: ericwf/compiler:llvm-4 | ||
llvm-5: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/5.x | ||
install_prefix: /opt/llvm-5 | ||
image: ericwf/compiler:llvm-5 | ||
llvm-6: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/6.x | ||
install_prefix: /opt/llvm-6 | ||
image: ericwf/compiler:llvm-6 | ||
llvm-7: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/7.x | ||
install_prefix: /opt/llvm-7 | ||
image: ericwf/compiler:llvm-7 | ||
llvm-8: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: release/8.x | ||
install_prefix: /opt/llvm-8 | ||
image: ericwf/compiler:llvm-8 | ||
gcc-tot: | ||
build: | ||
<<: *build-gcc | ||
args: | ||
branch: master | ||
install_prefix: /opt/gcc-tot | ||
image: ericwf/compiler:gcc-tot | ||
llvm-tot: | ||
build: | ||
<<: *build-clang | ||
args: | ||
branch: master | ||
install_prefix: /opt/llvm-tot | ||
image: ericwf/compiler:llvm-tot | ||
compiler-zoo: | ||
build: | ||
context: . | ||
dockerfile: compilers/compiler-zoo.Dockerfile | ||
target: compiler-zoo | ||
image: ericwf/compiler-zoo:latest | ||
depends_on: | ||
- gcc-4.8.5 | ||
- gcc-4.9.4 | ||
- gcc-5 | ||
- gcc-6 | ||
- gcc-7 | ||
- gcc-8 | ||
- gcc-tot | ||
- llvm-3.6 | ||
- llvm-3.7 | ||
- llvm-3.8 | ||
- llvm-3.9 | ||
- llvm-4 | ||
- llvm-5 | ||
- llvm-6 | ||
- llvm-7 | ||
- llvm-8 | ||
- llvm-tot |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
version: '3.7' | ||
services: | ||
llvm-builder-base: | ||
build: | ||
context: . | ||
dockerfile: llvm-builder-base.Dockerfile | ||
target: llvm-builder-base | ||
image: ericwf/llvm-builder-base:new | ||
llvm-buildbot-worker: | ||
build: | ||
context: . | ||
dockerfile: llvm-buildbot-worker.Dockerfile | ||
target: llvm-buildbot-worker | ||
image: ericwf/llvm-buildbot-worker:new |
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
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
File renamed without changes.
File renamed without changes.
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
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
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
Oops, something went wrong.