Files
actions/docker-push/action.yaml
Hugo Nijhuis 14d7cae864 Add reusable Forgejo Actions
Composite actions for CI/CD workflows:
- checkout: Clone repo with configurable depth
- docker-build: Build Docker images with multiple tags
- docker-push: Push to Forgejo Packages registry
- create-tag: Auto-increment semantic version tags
- create-issue: Create issues via Forgejo API
- create-pr: Create pull requests via Forgejo API
- comment-pr: Add comments to PRs via Forgejo API

All actions use shell scripts (no Node.js required).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 00:30:07 +01:00

42 lines
1.1 KiB
YAML

name: Docker Push
description: Push Docker image to Forgejo Packages registry
inputs:
image:
description: Full image name (registry/org/name)
required: true
tags:
description: Comma-separated list of tags to push
default: 'latest'
registry:
description: Registry URL
default: 'code.flowmade.one'
username:
description: Registry username
default: ${{ github.repository_owner }}
password:
description: Registry password/token
required: true
runs:
using: composite
steps:
- shell: bash
run: |
IMAGE="${{ inputs.image }}"
TAGS="${{ inputs.tags }}"
REGISTRY="${{ inputs.registry }}"
USERNAME="${{ inputs.username }}"
PASSWORD="${{ inputs.password }}"
# Login to registry
echo "$PASSWORD" | docker login "$REGISTRY" -u "$USERNAME" --password-stdin
# Push each tag
IFS=',' read -ra TAG_ARRAY <<< "$TAGS"
for tag in "${TAG_ARRAY[@]}"; do
tag=$(echo "$tag" | xargs) # trim whitespace
echo "Pushing $IMAGE:$tag"
docker push "$IMAGE:$tag"
done