Skip to content

github-docker

github-docker #11

Workflow file for this run

name: github-docker
# this workflow only triggers when manually started
on: workflow_dispatch
permissions:
contents: read
packages: write
jobs:
build-dependencies:
if: (github.repository == 'gassmoeller/docker-files')
name: deal.II dependencies ${{ matrix.system.ubuntu_version }} - ${{ matrix.architecture }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
architecture:
- linux/arm64
- linux/amd64
system:
- ubuntu_version: "focal"
dealii_version: 9.4.0-1ubuntu2~bpo20.04.1~ppa1
tag: focal-v9.5.1
- ubuntu_version: "jammy"
dealii_version: 9.4.0-1ubuntu2~bpo22.04.1~ppa1
tag: jammy-v9.5.1
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# - name: Login to DockerHub
# 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 dependencies ${{ matrix.system.ubuntu_version }}
uses: docker/build-push-action@v5
with:
context: ./dependencies/
cache-from: type=registry,ref=dealii/dependencies:${{ matrix.system.ubuntu_version }}
cache-to: type=inline
build-args: |
IMG=${{ matrix.system.ubuntu_version }}
VERSION=${{ matrix.system.dealii_version}}
platforms: ${{ matrix.architecture }}
push: true
tags: |
ghcr.io/${{ github.repository }}:${{ matrix.system.tag }}
# dealii/dependencies:${{ matrix.tag }}