Skip to content

Containers

Containers #119

Workflow file for this run

# JULEA - Flexible storage framework
# Copyright (C) 2023-2026 Michael Kuhn
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
name: Containers
on:
push:
branches:
- master
paths:
- '.github/workflows/containers.yml'
- 'containers/*'
pull_request:
branches:
- master
paths:
- '.github/workflows/containers.yml'
- 'containers/*'
schedule:
- cron: '0 0 * * 0'
defaults:
run:
shell: bash
jobs:
build-push:
name: Build and Push
runs-on: ubuntu-24.04
permissions:
packages: write
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
image:
- file: ubuntu-24.04
tag: ubuntu:24.04-base
- file: ubuntu-26.04
tag: ubuntu:26.04-base
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
show-progress: false
- name: Login to GitHub Container Registry
if: ${{ github.event_name != 'pull_request' }}
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push to GitHub Container Registry
uses: docker/build-push-action@v7
with:
context: containers
file: containers/${{ matrix.image.file }}
no-cache: true
pull: true
push: ${{ github.event_name != 'pull_request' }}
tags: ghcr.io/parcio/julea/${{ matrix.image.tag }}