Skip to content

Add multi-implementation workflow set - #1451

Draft
dmikusa wants to merge 1 commit into
mainfrom
add-multi-implementation
Draft

dmikusa wants to merge 1 commit into
mainfrom
add-multi-implementation

Conversation

@dmikusa

@dmikusa dmikusa commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new multi-implementation workflow set for repositories that package a combined buildpack plus one buildpack per component, such as jvm-vendors and build-tools.

Repositories provide a multi-implementation.json at the repository root:

{
  "combined": "build-tools",
  "integration": false,
  "libpak-tools": {
    "command": "build-build-tools",
    "artifact-flag": "tools",
    "include-all-flag": "include-all-tools"
  },
  "buildpacks": [
    { "name": "build-tools", "image": "build-tools" },
    { "name": "leiningen", "image": "leiningen-dev" }
  ]
}

The set includes:

  • create-draft-release.yml — derives the release-note matrix from the config, uses the full release notes action for the combined buildpack and jam summarize for components, and optionally runs integration tests (config integration flag)
  • push-buildpackage.yml — derives the push matrix and image names from the config
  • update-dependencies-from-metadata.yml — the shared template plus the has-warnings check that jvm-vendors previously carried locally
  • scripts/package.sh — generic packaging driven by the config and libpak-tools
  • the remaining implementation workflows and scripts

It also updates bootstrap.sh, sanity.sh and the README for the new set.

Follow-up PRs will switch jvm-vendors and build-tools to this set.

Note

This PR was written by opencode and reviewed by a human.

Add a multi-implementation set for repositories that package a combined
buildpack plus one buildpack per component. Repositories provide a
multi-implementation.json at the root describing the combined buildpack, the
components, image names, and the libpak-tools command.

The create-draft-release, push-buildpackage and update-dependencies workflows
derive their matrices and artifact names from that file. The update-dependencies
workflow also gains the warning check that jvm-vendors previously carried as a
local customization, and package.sh is now generic so jvm-vendors and build-tools
can share it.
@dmikusa
dmikusa force-pushed the add-multi-implementation branch from 7375d02 to e93fae3 Compare October 28, 2026 03:21
@dmikusa
dmikusa marked this pull request as draft October 28, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant