From: Marc Fehling Date: Mon, 24 Mar 2025 11:55:24 +0000 (+0100) Subject: Migrate docker infrastructure to docker-files repository. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c378d98cbef4c6b47e1f28ebf7a82728bc0752e;p=dealii.git Migrate docker infrastructure to docker-files repository. --- diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index 4174d64907..0000000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,119 +0,0 @@ -name: github-docker - -on: - push: - branches: - - "docker*" - schedule: - - cron: "0 */12 * * *" - -permissions: - contents: read - packages: write - -jobs: - build-master-docker-ubuntu: - # Build images for different ubuntu versions on different platforms - - if: (github.event_name == 'schedule' && github.repository == 'dealii/dealii') || github.event_name != 'schedule' - - name: build master docker ${{ matrix.ubuntu_version }} ${{ matrix.architecture }} - runs-on: ${{ matrix.runs-on }} - - strategy: - fail-fast: false - matrix: - ubuntu_version: [jammy, noble] - architecture: [amd64, arm64] - include: - - architecture: amd64 - runs-on: ubuntu-24.04 - flags: "" - - architecture: arm64 - runs-on: ubuntu-24.04-arm - flags: -mno-outline-atomics - # Use all available processors to build. - # Specify the number of jobs explicitly since the default '0' - # causes the github workers to disconnect (potential crash). - - n_jobs: 4 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push Docker image of master ${{ matrix.ubuntu_version }}-${{ matrix.architecture }} - id: build - uses: docker/build-push-action@v6 - with: - context: ./contrib/docker/ - cache-from: type=registry,ref=dealii/dependencies:${{ matrix.ubuntu_version }} - cache-to: type=inline - build-args: | - IMG=${{ matrix.ubuntu_version }} - NJOBS=${{ matrix.n_jobs }} - VER=master - FLAGS=${{ matrix.flags }} - platforms: linux/${{ matrix.architecture }} - tags: | - ghcr.io/dealii/dealii:master-${{ matrix.ubuntu_version }}-${{ matrix.architecture }} - dealii/dealii:master-${{ matrix.ubuntu_version }}-${{ matrix.architecture }} - push: true - - merge: - # Merge all images for a specific ubuntu version - - if: (github.event_name == 'schedule' && github.repository == 'dealii/dealii') || github.event_name != 'schedule' - - runs-on: ubuntu-24.04 - needs: - - build-master-docker-ubuntu - - strategy: - fail-fast: false - matrix: - docker: - - ghcr.io/dealii/dealii - - dealii/dealii - ubuntu_version: - - jammy - - noble - - steps: - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Merge images of ${{ matrix.docker }}:${{ matrix.ubuntu_version }} - run: | - docker buildx imagetools create \ - -t ${{ matrix.docker }}:master-${{ matrix.ubuntu_version }} \ - ${{ matrix.docker }}:master-${{ matrix.ubuntu_version }}-amd64 \ - ${{ matrix.docker }}:master-${{ matrix.ubuntu_version }}-arm64 diff --git a/README.md b/README.md index 0cc5f51009..7a06b8351f 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ [![jenkins/dealii-mpi](https://ci.tjhei.info/job/dealii-mpi/job/master/badge/icon?style=plastic&subject=jenkins-MPI)](https://ci.tjhei.info/job/dealii-mpi/job/master/) [![jenkins/dealii-osx](https://ci.tjhei.info/job/dealii-osx/job/master/badge/icon?style=plastic&subject=jenkins-OSX)](https://ci.tjhei.info/job/dealii-osx/job/master/) [![jenkins/dealii-ampere](https://ci.tjhei.info/job/dealii-ampere/job/master/badge/icon?style=plastic&subject=jenkins-ampere)](https://ci.tjhei.info/job/dealii-ampere/job/master/) -[![workflows/github-docker](https://github.com/dealii/dealii/actions/workflows/docker.yml/badge.svg?branch=master)](https://github.com/dealii/dealii/actions/workflows/docker.yml?query=branch%3Amaster) [![workflows/indent](https://github.com/dealii/dealii/actions/workflows/indent.yml/badge.svg?branch=master)](https://github.com/dealii/dealii/actions/workflows/indent.yml?query=branch%3Amaster) [![workflows/tidy](https://github.com/dealii/dealii/actions/workflows/tidy.yml/badge.svg?branch=master)](https://github.com/dealii/dealii/actions/workflows/tidy.yml?query=branch%3Amaster) [![workflows/github-linux](https://github.com/dealii/dealii/actions/workflows/linux.yml/badge.svg?branch=master)](https://github.com/dealii/dealii/actions/workflows/linux.yml?query=branch%3Amaster) diff --git a/contrib/ci/make-docker-arm-build.sh b/contrib/ci/make-docker-arm-build.sh deleted file mode 100644 index c93a9619d1..0000000000 --- a/contrib/ci/make-docker-arm-build.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -docker system prune -f - -# build arm image: -docker buildx build --no-cache --platform linux/arm64 --output type=registry \ - -t dealii/dealii:master-jammy-arm \ - --build-arg IMG=jammy \ - --build-arg VER=master \ - --build-arg NJOBS=4 \ - github - -# combine images: -docker pull dealii/dealii:master-jammy --platform amd64 -docker tag dealii/dealii:master-jammy dealii/dealii:master-jammy-amd64 -docker push dealii/dealii:master-jammy-amd64 -docker buildx imagetools create -t dealii/dealii:master-jammy \ - dealii/dealii:master-jammy-arm \ - dealii/dealii:master-jammy-amd64 - -# cleanup: -docker system prune -f diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile deleted file mode 100644 index 961eeee8d9..0000000000 --- a/contrib/docker/Dockerfile +++ /dev/null @@ -1,56 +0,0 @@ -ARG IMG=noble # Ubuntu image that contains all corresponding dependencies. - -FROM dealii/dependencies:$IMG - -ARG NJOBS=0 # Jobs used for building. Default: Use all available jobs. -ARG VER=master # deal.II branch that gets checked out. -ARG FLAGS="" # Additional flags for the build. - -USER root - -RUN cd /usr/src && \ - git clone https://github.com/dealii/dealii dealii-$VER && \ - cd dealii-$VER && \ - git checkout $VER && \ - mkdir build && cd build && \ - cmake -GNinja \ - -DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/hdf5/openmpi;/usr/include/hdf5/openmpi" \ - -DDEAL_II_ALLOW_AUTODETECTION=OFF \ - -DDEAL_II_COMPONENT_PYTHON_BINDINGS=ON \ - -DCMAKE_CXX_FLAGS="-std=c++20 $FLAGS" \ - -DDEAL_II_WITH_64BIT_INDICES=OFF \ - -DDEAL_II_WITH_ADOLC=ON \ - -DDEAL_II_WITH_ARBORX=OFF \ - -DDEAL_II_WITH_ARPACK=ON \ - -DDEAL_II_WITH_ASSIMP=ON \ - -DDEAL_II_WITH_BOOST=ON \ - -DDEAL_II_WITH_CGAL=ON \ - -DDEAL_II_WITH_COMPLEX_VALUES=ON \ - -DDEAL_II_WITH_GINKGO=OFF \ - -DDEAL_II_WITH_GMSH=ON \ - -DDEAL_II_WITH_GSL=ON \ - -DDEAL_II_WITH_HDF5=ON \ - -DDEAL_II_WITH_KOKKOS=ON \ - -DDEAL_II_WITH_LAPACK=ON \ - -DDEAL_II_WITH_METIS=ON \ - -DDEAL_II_WITH_MPI=ON \ - -DDEAL_II_WITH_MUPARSER=ON \ - -DDEAL_II_WITH_OPENCASCADE=ON \ - -DDEAL_II_WITH_P4EST=ON \ - -DDEAL_II_WITH_PETSC=ON \ - -DDEAL_II_WITH_SCALAPACK=ON \ - -DDEAL_II_WITH_SLEPC=ON \ - -DDEAL_II_WITH_SUNDIALS=ON \ - -DDEAL_II_WITH_SYMENGINE=ON \ - -DDEAL_II_WITH_TASKFLOW=OFF \ - -DDEAL_II_WITH_TBB=ON \ - -DDEAL_II_WITH_TRILINOS=ON \ - -DDEAL_II_WITH_UMFPACK=ON \ - -DDEAL_II_WITH_VTK=ON \ - -DDEAL_II_WITH_ZLIB=ON \ - .. && \ - ninja -j $NJOBS install && \ - cd ../ && rm -rf .git build - -USER $USER -WORKDIR $HOME