Skip to content

[CHORE] workflow_dispatch platforms input is unused in docker-multiplatform.yml #2207

@crivetimihai

Description

@crivetimihai

Summary

The workflow_dispatch trigger in .github/workflows/docker-multiplatform.yml defines a platforms input that allows specifying which platforms to build, but this input is never used. The build matrix and manifest creation are hardcoded.

Current Behavior

workflow_dispatch:
  inputs:
    platforms:
      description: 'Platforms to build (comma-separated)'
      required: false
      default: 'linux/amd64,linux/arm64,linux/s390x,linux/ppc64le'

However:

  • The build matrix at line 67-85 is hardcoded with all platforms
  • The manifest step at lines 191-194 hardcodes all four architecture tags

This means:

  1. Manual workflow runs cannot skip slow QEMU builds (s390x, ppc64le take ~30-45 min each)
  2. If a subset is intended, the manifest step will fail looking for missing tags

Expected Behavior

The platforms input should control which platforms are built and included in the manifest, allowing users to:

  • Run quick builds with just linux/amd64 for testing
  • Skip QEMU-emulated builds when not needed
  • Build any subset of supported platforms

Proposed Solution

Options to consider:

  1. Dynamic matrix generation - Use a job to parse the platforms input and generate the matrix dynamically
  2. Remove the input - If dynamic selection isn't needed, remove the unused input to avoid confusion
  3. Conditional matrix includes - Use if conditions on matrix entries based on input

Files Affected

  • .github/workflows/docker-multiplatform.yml (lines 41-46, 67-85, 187-194)

Priority

Low - This is a usability enhancement, not a bug. The workflow functions correctly for its primary use case (building all platforms on push/PR/schedule).

Metadata

Metadata

Assignees

Labels

SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releasechoreLinting, formatting, dependency hygiene, or project maintenance chorescicdIssue with CI/CD process (GitHub Actions, scaffolding)devopsDevOps activities (containers, automation, deployment, makefiles, etc)good first issueGood for newcomers

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions