Files
zShared/workflows/called.yml
USER 37d04bf109 .
2025-10-18 12:44:58 +01:00

71 lines
2.1 KiB
YAML

name: Build and Push Container
on:
workflow_call:
inputs:
registry:
required: true
type: string
registry_username:
required: true
type: string
registry_password:
required: true
type: string
titles:
required: true
type: string
osversion:
required: true
type: number
jobs:
build:
runs-on: ubuntu-latest
env:
DOCKER_ORG: teacup
DOCKER_LATEST: nightly
RUNNER_TOOL_CACHE: /toolcache
steps:
- name: "Build: checkout"
uses: actions/checkout@v4
- name: "Build: set up Docker buildx"
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- name: "Build: login to registry"
uses: docker/login-action@v3
with:
registry: https://${{ inputs.registry }}
username: ${{ inputs.registry_username }}
password: ${{ inputs.registry_password }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ inputs.registry }}/${{ github.repository }}
- name: Set Image Name
env:
myTITLE: ${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.title'] }}
id: split
run: echo "myTITLE=${myTITLE##*d_}" | tee -a "$GITHUB_ENV"
# Build and push Docker images
- name: "Build and push Docker image for each version"
uses: docker/build-push-action@v5
with:
build-args: |
VERSION=${{ inputs.osversion }}
NAS_USER=dnke
context: .
push: true
tags: |
${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:${{ inputs.osversion }}
${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:latest
labels: ${{ steps.meta.outputs.labels }}