mirror of
https://github.com/driftywinds/image-builder.git
synced 2025-12-19 11:53:34 +00:00
Update build.yml
This commit is contained in:
47
.github/workflows/build.yml
vendored
47
.github/workflows/build.yml
vendored
@@ -10,7 +10,7 @@ on:
|
|||||||
default: 'https://git.lolcat.ca/lolcat/4get'
|
default: 'https://git.lolcat.ca/lolcat/4get'
|
||||||
|
|
||||||
image_name:
|
image_name:
|
||||||
description: 'Docker image name (without registry prefix) (for GitHub only put the image name)'
|
description: 'Docker image name (without registry prefix)'
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
default: 'user/image'
|
default: 'user/image'
|
||||||
@@ -21,20 +21,26 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
default: 'latest'
|
default: 'latest'
|
||||||
|
|
||||||
|
dockerfile_path:
|
||||||
|
description: 'Path to Dockerfile (relative to repo root, e.g., "Dockerfile" or "docker/Dockerfile")'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: 'auto'
|
||||||
|
|
||||||
push_to_dockerhub:
|
push_to_dockerhub:
|
||||||
description: 'Push to Docker Hub (Run with Quay, not GHCR)'
|
description: 'Push to Docker Hub'
|
||||||
required: true
|
required: true
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
|
|
||||||
push_to_ghcr:
|
push_to_ghcr:
|
||||||
description: 'Push to GitHub Container Registry (run seperately from the other two)'
|
description: 'Push to GitHub Container Registry'
|
||||||
required: true
|
required: true
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
|
|
||||||
push_to_quay:
|
push_to_quay:
|
||||||
description: 'Push to Quay.io (Run with Dockerhub, not GHCR)'
|
description: 'Push to Quay.io'
|
||||||
required: true
|
required: true
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
@@ -54,6 +60,37 @@ jobs:
|
|||||||
echo "REPO_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
echo "REPO_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
||||||
echo "REPO_SHORT_COMMIT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
echo "REPO_SHORT_COMMIT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Detect Dockerfile location
|
||||||
|
id: dockerfile
|
||||||
|
run: |
|
||||||
|
cd ./target-repo
|
||||||
|
|
||||||
|
DOCKERFILE_PATH="${{ inputs.dockerfile_path }}"
|
||||||
|
|
||||||
|
if [[ "$DOCKERFILE_PATH" == "auto" ]]; then
|
||||||
|
# Auto-detect Dockerfile location
|
||||||
|
if [[ -f "Dockerfile" ]]; then
|
||||||
|
DOCKERFILE_PATH="Dockerfile"
|
||||||
|
echo "Found Dockerfile in root directory"
|
||||||
|
elif [[ -f "docker/Dockerfile" ]]; then
|
||||||
|
DOCKERFILE_PATH="docker/Dockerfile"
|
||||||
|
echo "Found Dockerfile in docker/ directory"
|
||||||
|
else
|
||||||
|
echo "Error: No Dockerfile found in root or docker/ directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Verify the specified Dockerfile exists
|
||||||
|
if [[ ! -f "$DOCKERFILE_PATH" ]]; then
|
||||||
|
echo "Error: Specified Dockerfile not found at: $DOCKERFILE_PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Using specified Dockerfile: $DOCKERFILE_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "path=$DOCKERFILE_PATH" >> $GITHUB_OUTPUT
|
||||||
|
echo "DOCKERFILE_PATH=$DOCKERFILE_PATH" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@@ -134,6 +171,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./target-repo
|
context: ./target-repo
|
||||||
|
file: ./target-repo/${{ steps.dockerfile.outputs.path }}
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
@@ -152,6 +190,7 @@ jobs:
|
|||||||
echo "## Build Summary" >> $GITHUB_STEP_SUMMARY
|
echo "## Build Summary" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "**Repository:** ${{ inputs.repo_url }}" >> $GITHUB_STEP_SUMMARY
|
echo "**Repository:** ${{ inputs.repo_url }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "**Commit:** ${{ env.REPO_SHORT_COMMIT }}" >> $GITHUB_STEP_SUMMARY
|
echo "**Commit:** ${{ env.REPO_SHORT_COMMIT }}" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "**Dockerfile:** ${{ steps.dockerfile.outputs.path }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "**Image Name:** ${{ inputs.image_name }}" >> $GITHUB_STEP_SUMMARY
|
echo "**Image Name:** ${{ inputs.image_name }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "**Tags:** ${{ inputs.tags }}" >> $GITHUB_STEP_SUMMARY
|
echo "**Tags:** ${{ inputs.tags }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
|||||||
Reference in New Issue
Block a user