mirror of
https://github.com/ivuorinen/actions.git
synced 2026-02-05 17:43:40 +00:00
Merge php-tests, php-laravel-phpunit, and php-composer into single php-tests action: Consolidation: - Merge three PHP actions into one with framework auto-detection - Add framework input (auto/laravel/generic) with artisan file detection - Inline PHP version detection from multiple sources - Inline Composer setup, caching, and dependency installation - Add conditional Laravel-specific setup steps Features: - Auto-detect Laravel via artisan file presence - PHP version detection from .tool-versions, Dockerfile, composer.json, etc. - Composer dependency management with retry logic and caching - Laravel setup: .env copy, key generation, permissions, SQLite database - Smart test execution: composer test for Laravel, direct PHPUnit for generic Outputs: - framework: Detected framework (laravel/generic) - php-version, composer-version, cache-hit: Setup metadata - test-status, tests-run, tests-passed: Test results Deleted: - php-laravel-phpunit/: Laravel-specific testing action - php-composer/: Composer dependency management action - Related test files and custom validators Updated: - CLAUDE.md: 26 → 24 actions - generate_listing.cjs: Remove php-laravel-phpunit, php-composer - validate-inputs: Remove php-laravel-phpunit custom validator Result: 3 actions → 1 action, maintained all functionality with simpler interface.
109 lines
3.5 KiB
Markdown
109 lines
3.5 KiB
Markdown
# ivuorinen/actions/docker-publish
|
|
|
|
## Docker Publish
|
|
|
|
### Description
|
|
|
|
Simple wrapper to publish Docker images to GitHub Packages and/or Docker Hub
|
|
|
|
### Inputs
|
|
|
|
| name | description | required | default |
|
|
|----------------------|-------------------------------------------------------------------|----------|---------------------------|
|
|
| `registry` | <p>Registry to publish to (dockerhub, github, or both)</p> | `false` | `both` |
|
|
| `image-name` | <p>Docker image name (defaults to repository name)</p> | `false` | `""` |
|
|
| `tags` | <p>Comma-separated list of tags (e.g., latest,v1.0.0)</p> | `false` | `latest` |
|
|
| `platforms` | <p>Platforms to build for (comma-separated)</p> | `false` | `linux/amd64,linux/arm64` |
|
|
| `context` | <p>Build context path</p> | `false` | `.` |
|
|
| `dockerfile` | <p>Path to Dockerfile</p> | `false` | `Dockerfile` |
|
|
| `build-args` | <p>Build arguments (newline-separated KEY=VALUE pairs)</p> | `false` | `""` |
|
|
| `push` | <p>Whether to push the image</p> | `false` | `true` |
|
|
| `token` | <p>GitHub token for authentication (for GitHub registry)</p> | `false` | `""` |
|
|
| `dockerhub-username` | <p>Docker Hub username (required if publishing to Docker Hub)</p> | `false` | `""` |
|
|
| `dockerhub-token` | <p>Docker Hub token (required if publishing to Docker Hub)</p> | `false` | `""` |
|
|
|
|
### Outputs
|
|
|
|
| name | description |
|
|
|--------------|--------------------------------------|
|
|
| `image-name` | <p>Full image name with registry</p> |
|
|
| `tags` | <p>Tags that were published</p> |
|
|
| `digest` | <p>Image digest</p> |
|
|
| `metadata` | <p>Build metadata</p> |
|
|
|
|
### Runs
|
|
|
|
This action is a `composite` action.
|
|
|
|
### Usage
|
|
|
|
```yaml
|
|
- uses: ivuorinen/actions/docker-publish@main
|
|
with:
|
|
registry:
|
|
# Registry to publish to (dockerhub, github, or both)
|
|
#
|
|
# Required: false
|
|
# Default: both
|
|
|
|
image-name:
|
|
# Docker image name (defaults to repository name)
|
|
#
|
|
# Required: false
|
|
# Default: ""
|
|
|
|
tags:
|
|
# Comma-separated list of tags (e.g., latest,v1.0.0)
|
|
#
|
|
# Required: false
|
|
# Default: latest
|
|
|
|
platforms:
|
|
# Platforms to build for (comma-separated)
|
|
#
|
|
# Required: false
|
|
# Default: linux/amd64,linux/arm64
|
|
|
|
context:
|
|
# Build context path
|
|
#
|
|
# Required: false
|
|
# Default: .
|
|
|
|
dockerfile:
|
|
# Path to Dockerfile
|
|
#
|
|
# Required: false
|
|
# Default: Dockerfile
|
|
|
|
build-args:
|
|
# Build arguments (newline-separated KEY=VALUE pairs)
|
|
#
|
|
# Required: false
|
|
# Default: ""
|
|
|
|
push:
|
|
# Whether to push the image
|
|
#
|
|
# Required: false
|
|
# Default: true
|
|
|
|
token:
|
|
# GitHub token for authentication (for GitHub registry)
|
|
#
|
|
# Required: false
|
|
# Default: ""
|
|
|
|
dockerhub-username:
|
|
# Docker Hub username (required if publishing to Docker Hub)
|
|
#
|
|
# Required: false
|
|
# Default: ""
|
|
|
|
dockerhub-token:
|
|
# Docker Hub token (required if publishing to Docker Hub)
|
|
#
|
|
# Required: false
|
|
# Default: ""
|
|
```
|