Files
actions/docker-publish
Ismo Vuorinen 49d232f590 refactor: inline node-setup across Node.js actions
Phase 6A: Remove node-setup abstraction layer and inline Node.js setup.

Changes:
- Replace node-setup calls with direct actions/setup-node@v6.0.0
- Inline package manager detection (lockfile-based)
- Add Corepack enablement and package manager installation
- Use Node.js 22 as default version

Actions migrated (5):
- prettier-lint: Inline Node.js setup + package manager detection
- biome-lint: Inline Node.js setup + package manager detection
- eslint-lint: Inline Node.js setup + package manager detection
- pr-lint: Inline Node.js setup (conditional on package.json)
- npm-publish: Inline Node.js setup + package manager detection

Removed:
- node-setup/action.yml (371 lines)
- node-setup/README.md, rules.yml, CustomValidator.py
- _tests/unit/node-setup/validation.spec.sh
- _tests/integration/workflows/node-setup-test.yml
- validate-inputs/tests/test_node-setup_custom.py

Documentation updates:
- CLAUDE.md: Remove node-setup from action list (26 actions)
- generate_listing.cjs: Remove node-setup mappings
- update-validators.py: Remove node-setup custom validator

Result: 26 actions (down from 27), eliminated internal dependency layer.
2025-11-20 21:17:37 +02:00
..
2025-11-19 15:42:06 +02:00

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

Registry to publish to (dockerhub, github, or both)

false both
image-name

Docker image name (defaults to repository name)

false ""
tags

Comma-separated list of tags (e.g., latest,v1.0.0)

false latest
platforms

Platforms to build for (comma-separated)

false linux/amd64,linux/arm64
context

Build context path

false .
dockerfile

Path to Dockerfile

false Dockerfile
build-args

Build arguments (newline-separated KEY=VALUE pairs)

false ""
push

Whether to push the image

false true
token

GitHub token for authentication (for GitHub registry)

false ""
dockerhub-username

Docker Hub username (required if publishing to Docker Hub)

false ""
dockerhub-token

Docker Hub token (required if publishing to Docker Hub)

false ""

Outputs

name description
image-name

Full image name with registry

tags

Tags that were published

digest

Image digest

metadata

Build metadata

Runs

This action is a composite action.

Usage

- 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: ""