Skip to content

DO-2039: Add opensearch-plugins input to php-quality-checks#175

Merged
aaronmedina-dev merged 2 commits into
mainfrom
feature/do-2039_opensearch-plugin-support
Jul 9, 2026
Merged

DO-2039: Add opensearch-plugins input to php-quality-checks#175
aaronmedina-dev merged 2 commits into
mainfrom
feature/do-2039_opensearch-plugin-support

Conversation

@aaronmedina-dev

Copy link
Copy Markdown
Contributor

GitHub service containers can't run commands before startup, so projects that need OpenSearch plugins had to point opensearch-image at a custom prebuilt image (e.g. aligent/bitbucket-opensearch, which is no longer publicly pullable and broke cooldrive-magento's PR checks).

This adds an optional opensearch-plugins input (space-separated, same style as php-extensions). When set, the integration/REST/GraphQL test jobs install the listed plugins into the search service container via docker exec, restart it, and wait for it to come back before running tests. opensearch-plugin install resolves the plugin build matching the running OpenSearch version, so it composes with opensearch-version without maintenance.

Default is empty, so existing consumers are unaffected.

Example:

opensearch-version: "3.1.0"
opensearch-plugins: "analysis-icu analysis-phonetic"

First consumer: aligent/cooldrive-magento#106 / #107, which currently fail Magento's install with Unknown filter type [phonetic] on the stock OpenSearch image (Adobe Commerce needs analysis-icu + analysis-phonetic, matching its cloud services.yaml).

Service containers can't install plugins before they start, so projects
needing OpenSearch plugins (e.g. Adobe Commerce needs analysis-icu and
analysis-phonetic) had to rely on a custom prebuilt image. This adds an
optional opensearch-plugins input: when set, the API/integration test
jobs install the listed plugins into the search container and restart
it before running tests. Defaults to empty, so existing consumers are
unaffected.
@aaronmedina-dev aaronmedina-dev requested a review from a team as a code owner July 9, 2026 05:34
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
Comment thread .github/workflows/php-quality-checks.yml Fixed
zizmor flagged the inline template expansions in the plugin install
steps as potential code injection. Route the input and container id
through env instead of expanding them directly in the script.
@aaronmedina-dev aaronmedina-dev requested a review from crispy101 July 9, 2026 06:01
@aaronmedina-dev aaronmedina-dev merged commit 3baf61f into main Jul 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants