From 4dedba09b3be28965fbb9734c85131d55e407225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20=C5=81ukawski?= Date: Wed, 19 Jun 2024 20:31:35 +0200 Subject: [PATCH] Add compiler to build matrix --- .github/workflows/docker.yml | 10 +++++++--- docker/Dockerfile | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 615d209d..1db7dae2 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..9c75a845 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,10 +1,21 @@ ARG UBUNTU_TAG -FROM ubuntu:$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 && \