push reuseable workflow
Some checks failed
CI Workflow / build_push (push) Failing after 11m46s
build_push_container / build (3.22.0) (push) Failing after 12m1s
build_push_container / build (3.21.0) (push) Failing after 12m10s
build_push_container / build (3.20.0) (push) Failing after 12m20s

This commit is contained in:
USER
2025-10-17 22:02:07 +01:00
parent 5043a3c293
commit 3b4f1624f2
4 changed files with 173 additions and 3 deletions

View File

@ -0,0 +1,70 @@
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
jobs:
build:
runs-on: ubuntu-latest
env:
DOCKER_ORG: teacup
DOCKER_LATEST: nightly
RUNNER_TOOL_CACHE: /toolcache
strategy:
matrix:
os: [3.20.0, 3.21.0, 3.22.0]
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: ${{ inputs.registry }}
username: ${{ inputs.registry_username }}
password: ${{ secrets.MY_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=${{ matrix.os }}
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 }}:${{ matrix.os }}
${{ inputs.registry }}/${{ inputs.registry_username }}/${{ env.myTITLE }}:latest
labels: ${{ steps.meta.outputs.labels }}