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>
This commit is contained in:
41
docker-push/action.yaml
Normal file
41
docker-push/action.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
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
|
||||
Reference in New Issue
Block a user