diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a8c2326 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +* +!Dockerfile +!cpp.properties diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1480c8a..8c11a6d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -17,21 +17,21 @@ jobs: # steps to perform in job steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 # setup Docker buld action - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build image and push to Docker Hub - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v6 with: # relative path to the place where source code with Dockerfile is located context: ./ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c56a8e3..0000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: python -python: - - 3.5 - -services: - - docker - -install: - - docker build -t madduci/docker-compiler-explorer:latest . - -script: - - docker images diff --git a/Dockerfile b/Dockerfile index 9fde2f3..13e67db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM madduci/docker-linux-cpp:latest LABEL maintainer="Michele Adduci " \ - license="Copyright (c) 2012-2022, Matt Godbolt" + license="Copyright (c) 2012-2024, Matt Godbolt" EXPOSE 10240 @@ -12,7 +12,7 @@ RUN echo "*** Installing Compiler Explorer ***" \ && add-apt-repository -y "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main" \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && apt-get install -y curl \ - && curl -sL https://deb.nodesource.com/setup_18.x | bash - \ + && curl -sL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y \ wget \ ca-certificates \ diff --git a/LICENSE b/LICENSE index 15f5ecb..ef041d6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2012-2021, Matt Godbolt +Copyright (c) 2012-2024, Matt Godbolt All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.md b/README.md index 22a6868..2d18275 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ [![Build and Publish](https://github.com/madduci/docker-compiler-explorer/actions/workflows/build.yaml/badge.svg)](https://github.com/madduci/docker-compiler-explorer/actions/workflows/build.yaml) -A docker-based version of [Matt Godbolt's Compiler Explorer](https://github.com/mattgodbolt/compiler-explorer) for self-hosting purposes. +A docker-based version of [Matt Godbolt's Compiler Explorer](https://github.com/compiler-explorer/compiler-explorer) for self-hosting purposes. The repository contains a `Dockerfile` with all the required instructions to build the compiler explorer application (with some adjustments to the Makefile as long as there's no 'sudo') and a `docker-compose.yml` file, which keeps some setup instructions such as the port mapping and network, in case you might want to map the default port exposed by the application, 10240, in an easy way. ## Requirements -* Docker (possibly the latest version, 17.06+) -* docker-compose (1.16+) +* Docker (possibly the latest version, 24.0+) +* docker-compose (2.0+) ## Build/Run instructions diff --git a/cpp.properties b/cpp.properties index 67860ca..19d67b5 100644 --- a/cpp.properties +++ b/cpp.properties @@ -1,54 +1,34 @@ # Default settings for C++ compilers=&gcc:&clang -group.gcc.compilers=g9:g10:g11:gdefault -compiler.g9.exe=/usr/bin/g++-9 -compiler.g9.name=g++ 9 -compiler.g10.exe=/usr/bin/g++-10 -compiler.g10.name=g++ 10 -compiler.g11.exe=/usr/bin/g++-11 -compiler.g11.name=g++ 11 -compiler.gdefault.exe=/usr/bin/g++-11 -compiler.gdefault.name=g++ default (11) +group.gcc.compilers=g12:g13:g14:gdefault +compiler.g12.exe=/usr/bin/g++-12 +compiler.g12.name=g++ 12 +compiler.g13.exe=/usr/bin/g++-13 +compiler.g13.name=g++ 13 +compiler.g14.exe=/usr/bin/g++-14 +compiler.g14.name=g++ 14 +compiler.gdefault.exe=/usr/bin/g++-14 +compiler.gdefault.name=g++ default (14) -group.clang.compilers=clang13:clang13x86:clang14:clang14x86:clang15:clang15x86:clang16:clang16x86:clang17:clang17x86:clang18:clang18x86:clang19:clang19x86:clangdefault +group.clang.compilers=clang17:clang17x86:clang18:clang18x86:clang19:clang19x86:clangdefault group.clang.intelAsm=-mllvm --x86-asm-syntax=intel group.clang.compilerType=clang -compiler.clang13.exe=/usr/bin/clang++-13 -compiler.clang13.name=clang 13 -compiler.clang13x86.exe=/usr/bin/clang++-13 -compiler.clang13x86.name=clang 13 x86 -compiler.clang13x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 -compiler.clang14.exe=/usr/bin/clang++-14 -compiler.clang14.name=clang 14 -compiler.clang14x86.exe=/usr/bin/clang++-14 -compiler.clang14x86.name=clang 14 x86 -compiler.clang14x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 -compiler.clang15.exe=/usr/bin/clang++-15 -compiler.clang15.name=clang 15 -compiler.clang15x86.exe=/usr/bin/clang++-15 -compiler.clang15x86.name=clang 15 x86 -compiler.clang15x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 -compiler.clang16.exe=/usr/bin/clang++-16 -compiler.clang16.name=clang 16 -compiler.clang16x86.exe=/usr/bin/clang++-16 -compiler.clang16x86.name=clang 16 x86 -compiler.clang16x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 compiler.clang17.exe=/usr/bin/clang++-17 compiler.clang17.name=clang 17 compiler.clang17x86.exe=/usr/bin/clang++-17 compiler.clang17x86.name=clang 17 x86 -compiler.clang17x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 +compiler.clang17x86.options=-std=c++17 -Wall -Wextra -Wshadow -O3 -m32 -march=i386 compiler.clang18.exe=/usr/bin/clang++-18 compiler.clang18.name=clang 18 compiler.clang18x86.exe=/usr/bin/clang++-18 compiler.clang18x86.name=clang 18 x86 -compiler.clang18x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 +compiler.clang18x86.options=-std=c++20 -Wall -Wextra -Wshadow -O3 -m32 -march=i386 compiler.clang19.exe=/usr/bin/clang++-19 compiler.clang19.name=clang 19 compiler.clang19x86.exe=/usr/bin/clang++-19 compiler.clang19x86.name=clang 19 x86 -compiler.clang19x86.options=-std=c++1z -Wall -Wextra -Wshadow -O3 -m32 -march=i386 +compiler.clang19x86.options=-std=c++20 -Wall -Wextra -Wshadow -O3 -m32 -march=i386 compiler.clangdefault.exe=/usr/bin/clang++-19 compiler.clangdefault.name=clang default (19)