Remove apm marketplace publish and marketplace doctor alias (#1134)#1766
Open
sergio-sisternes-epam wants to merge 2 commits into
Open
Remove apm marketplace publish and marketplace doctor alias (#1134)#1766sergio-sisternes-epam wants to merge 2 commits into
apm marketplace publish and marketplace doctor alias (#1134)#1766sergio-sisternes-epam wants to merge 2 commits into
Conversation
Remove the consumer-repo fan-out workflow (marketplace publish) and the deprecated marketplace doctor subcommand alias. The publish surface opened PRs on downstream repos -- a responsibility outside the scope of a package manager. Consumers should run `apm install --update` on their own cadence instead. Deleted: - src/apm_cli/commands/marketplace/publish.py - src/apm_cli/marketplace/publisher.py - src/apm_cli/marketplace/pr_integration.py - 9 test files (~7300 lines) Updated: - commands/marketplace/__init__.py: removed publish helpers/imports - commands/marketplace/doctor.py: removed Click alias, kept run_doctor - marketplace/__init__.py: removed publisher/PR integration exports - git_stderr.py: hint now says 'apm doctor' not 'apm marketplace doctor' - test_marketplace_doctor.py: invoke via cli instead of marketplace group - test_doctor.py: removed deprecated alias test - Docs (publish guide, CLI reference) and skills (commands.md) - CHANGELOG.md: added Removed entries Closes #1134 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes the deprecated consumer-repo fan-out workflow (apm marketplace publish) and fully drops the legacy apm marketplace doctor alias in favor of the top-level apm doctor, cleaning up the marketplace command surface and deleting the associated library + test scaffolding.
Changes:
- Deleted the
marketplace publishcommand and its underlying publisher / PR integration libraries, plus related tests. - Removed the
marketplace doctorClick alias and the publish-specificghcheck; keptrun_doctor()forapm doctor. - Updated docs/skills/changelog to reflect the removed commands (with one remaining doc consistency gap noted in comments).
Reviewed changes
Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/marketplace/test_pr_integration.py | Removes unit coverage for the deleted pr_integration module. |
| tests/unit/marketplace/test_marketplace_commands_surface.py | Drops tests that exercised publish-only helpers removed from the marketplace command module. |
| tests/unit/marketplace/test_marketplace_commands_phase3.py | Same as above for the phase3 test suite. |
| tests/unit/marketplace/test_git_stderr.py | Updates hint expectation to reference apm doctor instead of the removed alias. |
| tests/unit/commands/test_marketplace_publish.py | Removes unit tests for the deleted apm marketplace publish command. |
| tests/unit/commands/test_marketplace_doctor.py | Re-targets tests to the top-level apm doctor entry point and removes gh-check expectations. |
| tests/unit/commands/test_doctor.py | Ensures apm marketplace doctor is no longer registered / visible under apm marketplace. |
| tests/integration/test_wave3_marketplace_coverage.py | Removes integration coverage snippets tied to the deleted publisher module. |
| tests/integration/test_marketplace_phase3w4.py | Deletes integration tests for publish-only helpers and publisher types. |
| tests/integration/test_marketplace_e2e_surface.py | Deletes e2e surface tests for publish-only helpers and publisher types. |
| tests/integration/test_deep_coverage_adapters.py | Removes the publisher module from the deep-coverage “miss list” header. |
| tests/integration/test_commands_mcp_phase3c.py | Drops tests for _load_targets_file / _outcome_symbol (publish-only). |
| tests/integration/test_commands_mcp_flow.py | Drops tests for _load_targets_file / _outcome_symbol (publish-only). |
| tests/integration/marketplace/test_publish_integration.py | Removes integration tests for the deleted apm marketplace publish flow. |
| src/apm_cli/marketplace/yml_schema.py | Updates docstring wording from “publisher” to “authoring” config. |
| src/apm_cli/marketplace/version_check.py | Updates docstring to reflect apm doctor as the consumer of version alignment checks. |
| src/apm_cli/marketplace/validator.py | Removes mention of apm marketplace publish from module docs. |
| src/apm_cli/marketplace/publisher.py | Deletes the publisher implementation. |
| src/apm_cli/marketplace/pr_integration.py | Deletes gh PR integration wrapper for publish. |
| src/apm_cli/marketplace/git_stderr.py | Updates AUTH hint to direct users to apm doctor. |
| src/apm_cli/marketplace/init.py | Removes publish-related exports from the marketplace package surface. |
| src/apm_cli/commands/marketplace/publish.py | Deletes the apm marketplace publish command. |
| src/apm_cli/commands/marketplace/doctor.py | Removes legacy alias wiring and publish-only gh check; keeps run_doctor(). |
| src/apm_cli/commands/marketplace/init.py | Removes publish/doctor command registration and publish-only helper implementations. |
| src/apm_cli/commands/doctor.py | Updates top-level apm doctor wrapper docstring to reflect current ownership. |
| packages/apm-guide/.apm/skills/apm-usage/package-authoring.md | Removes publish from the referenced marketplace authoring workflow list. |
| packages/apm-guide/.apm/skills/apm-usage/commands.md | Replaces marketplace-subcommand references with the top-level apm doctor. |
| docs/src/content/docs/reference/cli/marketplace.md | Removes the doctor/publish subcommand sections (but still contains stale references elsewhere; see comments). |
| docs/src/content/docs/producer/publish-to-a-marketplace.md | Replaces apm marketplace doctor with apm doctor and removes the fan-out publish section. |
| CHANGELOG.md | Adds [Unreleased] > Removed entries for the removed command surfaces. |
Comments suppressed due to low confidence (1)
docs/src/content/docs/reference/cli/marketplace.md:227
- The
apm marketplace doctor/apm marketplace publishsections were removed below, but this page still documents those commands earlier (Synopsis lists both; Description says authors ship updates viaapm marketplace publish; and the Examples section still showsapm marketplace publish). That leaves the CLI reference internally inconsistent after the removal.
### `apm marketplace outdated`
Show packages in the authoring config that have newer upstream
versions available.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
TL;DR
Remove the consumer-repo fan-out workflow (
apm marketplace publish) and the deprecatedapm marketplace doctorsubcommand alias. Net deletion: ~10,200 lines across 33 files.Problem (WHY)
apm marketplace publishopens PRs on downstream consumer repos to bump marketplace pins -- a responsibility outside the scope of a package manager. npm/pip/cargo never push to consumers. The surface is wide (publisher, PR integration, consumer-targets file, state file) and has produced regressions (#1131). Themarketplace doctorsubcommand was already deprecated in favour of top-levelapm doctor.Approach (WHAT)
Single-phase direct removal in one PR:
publish.pycommand,publisher.pylibrary,pr_integration.pylibrary__init__.pyfiles: remove publish-related imports, helpers,__all__entriesdoctor.py: remove deprecatedmarketplace doctorClick alias and gh CLI check (publish-only); keeprun_doctor()for top-levelapm doctorgit_stderr.py: hint now saysapm doctorinstead ofapm marketplace doctorcommands.md,package-authoring.md)[Unreleased] > RemovedWhat stays (NOT removed)
apm doctor(top-level) -- still callsrun_doctor()fromcommands/marketplace/doctor.pygit_stderr.py-- used byref_resolver.pyanddoctor.pyadd,list,browse,update,remove,validateapm pack,apm marketplace init,check,outdated,migrate,audit,packageMigration
Consumers should run
apm install --updateon their own cadence instead of relying on publisher-pushed PRs.Validation
uv run --extra dev ruff check src/ tests/-- cleanuv run --extra dev ruff format --check src/ tests/-- cleanpylint R0801duplication check -- clean (10.00/10)bash scripts/lint-auth-signals.sh-- cleanCloses #1134