Add composer-config input to module CI#1067
Merged
Merged
Conversation
Sibling of module-config but operates on top-level composer.json keys
rather than extra.altis.modules. Callers pass a JSON object that is
shallow-merged into the test-root composer.json before the per-package
vcs entry is added.
Motivating case: altis/advanced-security depends on wpackagist-plugin/patchstack.
The wpackagist repository is not configured by altis/skeleton (kept that
way pending patchstack publication on Packagist proper). The previous
workflow had no way for the caller to inject the wpackagist source for
its own CI, so composer could not resolve the dep and the package-under-
test injection failed.
Now the caller can pass:
composer-config: '{"repositories":{"wpackagist":{"type":"composer","url":"https://wpackagist.org"}}}'
Use object form (named keys), not array form, so the merged result coexists
with the auto-added `repositories.$ALTIS_PACKAGE` vcs entry composer adds
later in the same step.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
rmccue
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new optional
composer-configinput tomodule-ci.yml, a sibling of the existingmodule-configinput but operating on top-level composer.json keys (e.g.repositories) rather thanextra.altis.modules.The caller passes a JSON object that is shallow-merged into the test-root composer.json before the per-package vcs entry is auto-added later in the same step.
Motivation
altis/advanced-security depends on
wpackagist-plugin/patchstack. The wpackagist repository is not configured by altis/skeleton — we are intentionally waiting for the plugin to be published on Packagist proper rather than wiring wpackagist into the skeleton's repositories.Without a way for the caller to inject the wpackagist source for its own CI, composer could not resolve the dep and the package-under-test injection failed:
After this PR lands, altis/advanced-security's
.github/workflows/ci.ymlcan pass:and the package-under-test injection step will succeed.
Format note
Use the object form for
repositories({"name": {...}}), not the array form ([{...}]). The workflow auto-addsrepositories.$ALTIS_PACKAGEas a keyed entry later in the same step — keeping the caller's input in object form avoids the array/object mismatch composer would otherwise warn about.Test plan