Skip to content

Commit

Permalink
#97: fix of ubuntu 24 docker image mesa drivers version
Browse files Browse the repository at this point in the history
  • Loading branch information
tlamonthezie committed Sep 6, 2024
1 parent e9bddd8 commit e78d46c
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 20 deletions.
14 changes: 0 additions & 14 deletions .github/workflows/build-and-test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,6 @@ jobs:
gcov: llvm-gcov,
python: ['3.8', '3.9', '3.10', '3.11', '3.12'],
vtk: '9.3.1'
},
{
base: "ubuntu-22.04",
compiler: { cc: gcc-11, cxx: g++-11 },
gcov: gcov,
python: ['3.8', '3.9', '3.10', '3.11', '3.12'],
vtk: '9.3.0'
},
{
base: "ubuntu-24.04",
compiler: { cc: gcc-13, cxx: g++-13 },
gcov: gcov,
python: ['3.8', '3.9', '3.10', '3.11', '3.12'],
vtk: '9.3.1'
}
]
runs-on: ${{ matrix.host.base }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Build & push base Docker image (add ubuntu_24.04-gcc_12-vtk_9.3.1-py_3.8 image)

on:
push:
branches:
- 97-add-more-environments-to-test-in-ci

jobs:
push_to_registry:
name: Build & Push
runs-on: ubuntu-latest
env:
DOCKER_REPOSITORY: lifflander1/vt
strategy:
matrix:
image: [ ubuntu_24.04-gcc_13-vtk_9.3.1-py_3.8 ]
steps:
- name: Check out the repo
uses: actions/checkout@v4

- name: Extract build configuration
run: |
IFS='_-' read -r -a CONFIG <<< "${{ matrix.image }}"
echo "BASE_IMAGE=${CONFIG[0]}:${CONFIG[1]}" >> $GITHUB_ENV
echo "CC=${CONFIG[2]}-${CONFIG[3]}" >> $GITHUB_ENV
if [[ "${CONFIG[2]}" == "gcc" ]]; then
echo "CXX=g++-${CONFIG[3]}" >> $GITHUB_ENV
echo "GCOV=gcov-${CONFIG[3]}" >> $GITHUB_ENV
elif [[ "${CONFIG[2]}" == "clang" ]]; then
echo "CXX=clang++-${CONFIG[3]}" >> $GITHUB_ENV
echo "GCOV=gcov" >> $GITHUB_ENV
else
exit 1
fi
echo "VTK_VERSION=${CONFIG[5]}" >> $GITHUB_ENV
echo "PYTHON_VERSION=${CONFIG[7]}" >> $GITHUB_ENV
echo "DOCKER_TAG=${{ matrix.image }}" >> $GITHUB_ENV
- name: Build configuration
run: |
echo "Base image: $BASE_IMAGE"
echo "C Compiler: $CC"
echo "CXX Compiler: $CXX"
echo "GCOV: $GCOV"
echo "VTK: $VTK_VERSION"
echo "Python: $PYTHON_VERSION"
echo "Docker tag: $DOCKER_TAG"
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build and push to Docker Hub
uses: docker/build-push-action@v6
with:
context: .
build-args: |
BASE_IMAGE=${{ env.BASE_IMAGE }}
CC=${{ env.CC }}
CXX=${{ env.CXX }}
GCOV=${{ env.GCOV }}
VTK_VERSION=${{ env.VTK_VERSION }}
PYTHON_VERSION=${{ env.PYTHON_VERSION }}
file: ci/docker/make-base-ubuntu.dockerfile
push: true
tags: "${{ env.DOCKER_REPOSITORY }}:${{ env.DOCKER_TAG }}"
14 changes: 8 additions & 6 deletions ci/docker/make-base-ubuntu.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ ARG CC=gcc-11
ARG CXX=g++-11
ARG GCOV=gcov-11

# Copy scripts
RUN mkdir -p /opt/scripts
COPY ci/setup_mesa.sh /opt/scripts/setup_mesa.sh
COPY ci/vtk_build.sh /opt/scripts/vtk_build.sh

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y -q && \
apt-get install -y -q --no-install-recommends \
Expand All @@ -39,10 +44,6 @@ RUN apt-get update -y -q && \
pkg-config \
libncurses5-dev \
m4 \
libgl1-mesa-dev \
libglu1-mesa-dev \
mesa-common-dev \
libosmesa6-dev \
perl \
curl \
xvfb \
Expand All @@ -51,6 +52,9 @@ RUN apt-get update -y -q && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*


RUN /opt/scripts/setup_mesa.sh

# Share environment variables for use in images based on this.
ENV CC=/usr/bin/$CC
ENV CXX=/usr/bin/$CXX
Expand Down Expand Up @@ -83,8 +87,6 @@ RUN mkdir -p /opt/src/vtk
RUN git clone --recursive --branch v${VTK_VERSION} https://gitlab.kitware.com/vtk/vtk.git /opt/src/vtk

# Build VTK
RUN mkdir -p /opt/scripts
COPY ci/vtk_build.sh /opt/scripts/vtk_build.sh
RUN VTK_DIR=${VTK_DIR} bash /opt/scripts/vtk_build.sh

RUN echo "Base creation success"
13 changes: 13 additions & 0 deletions ci/setup_mesa.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

# This script install latest version of Mesa driver on the system

. /etc/lsb-release

if [ "$DISTRIB_RELEASE" == "24.04" ]; then
echo "Usin latest MESA drivers (dev) for Ubuntu 24.04 to fix error"; \
add-apt-repository ppa:oibaf/graphics-drivers -y
apt update
fi

apt install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libosmesa6-dev mesa-utils

0 comments on commit e78d46c

Please sign in to comment.