diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 615d209d..ecedc277 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -2,8 +2,8 @@ name: Docker on: push: - # paths: - # - 'docker/**' + paths: + - 'docker/**' workflow_dispatch: env: @@ -24,6 +24,9 @@ jobs: matrix: ubuntu: ['20.04', '22.04'] opencv: ['4.x'] + compiler: + - { cmd: g++, label: gcc } + - { cmd: clang++, label: clang } steps: - name: Check out main project @@ -47,8 +50,9 @@ jobs: with: push: true context: docker - tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:ubuntu-${{matrix.ubuntu}}-opencv-${{matrix.opencv}} + tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:ubuntu-${{matrix.ubuntu}}-opencv-${{matrix.opencv}}-${{matrix.compiler.label}} labels: ${{steps.meta.outputs.labels}} build-args: | OPENCV_TAG=${{matrix.opencv}} UBUNTU_TAG=${{matrix.ubuntu}} + COMPILER=${{matrix.compiler.cmd}} diff --git a/docker/Dockerfile b/docker/Dockerfile index 7204bdff..428b83a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,9 +2,20 @@ ARG UBUNTU_TAG FROM ubuntu:$UBUNTU_TAG ARG OPENCV_TAG +ARG COMPILER + +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ - apt-get install -y cmake g++ wget unzip && \ + apt-get install -y \ + ${COMPILER} \ + cmake \ + wget \ + unzip \ + ccache \ + libpcl-dev \ + swig \ + googletest && \ wget -O opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_TAG}.zip && \ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_TAG}.zip && \ unzip opencv.zip && \