Skip to content

feat!: add commands from the ps-exec plugin to the core CLI#3582

Merged
k80bowman merged 13 commits intov11.0.0from
k80/ps-exec
Mar 12, 2026
Merged

feat!: add commands from the ps-exec plugin to the core CLI#3582
k80bowman merged 13 commits intov11.0.0from
k80/ps-exec

Conversation

@k80bowman
Copy link
Contributor

Summary

Adds the ps:copy, ps:exec, ps:forward, and ps:socks commands from the ps-exec plugin to the core CLI. This also includes adding the util functions from heroku-exec-util to the core CLI and migrating everything to work with TypeScript and @oclif/core v4. This PR also adds unit tests for the helper functions and the commands, something that did not previously exist.

Type of Change

Breaking Changes (major semver update)

  • Add a ! after your change type to denote a change that breaks current behavior

Feature Additions (minor semver update)

  • feat: Introduces a new feature to the codebase

Patch Updates (patch semver update)

  • fix: Bug fix
  • deps: Dependency upgrade
  • revert: Revert a previous commit
  • chore: Change that does not affect production code
  • refactor: Refactoring existing code without changing behavior
  • test: Add/update/remove tests

Testing

Notes:

In order to test these commands, you will need to use a test app with a dyno. In order to test ps:copy you will need a test app with a dyno that contains files. The internally-shared app heroku-demo-app works.

Steps:

  1. Check out this branch and run npm i && npm run build
  2. Run ./bin/run ps:copy test.js -a heroku-demo-app and verify that the test.js file has been downloaded
  3. Run ./bin/run ps:exec -a heroku-demo-app and verify that you have successfully sshed into the dyno
  4. Run ./bin/run ps:exec -a heroku-demo-app -- node -i and verify that the node -i command is run on the dyno. (You should get an error message about node not being available or recognized).
  5. Run ./bin/run ps:forward 8080 -a heroku-demo-app and verify that it is successfully forwarding. Use ctrl+c to end the forwarding.
  6. Run ./bin/run ps:socks -a heroku-demo-app and verify that the socks port has started. Use ctrl+c to end the forwarding.

Related Issues

GUS work item: W-17567656

@k80bowman k80bowman requested a review from a team as a code owner March 11, 2026 22:32
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 11, 2026 22:32 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 11, 2026 22:32 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 11, 2026 22:32 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 11, 2026 22:32 — with GitHub Actions Inactive
Copy link
Contributor

@eablack eablack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some failing tests, but otherwise looks great!

@k80bowman k80bowman temporarily deployed to AcceptanceTests March 12, 2026 12:42 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 12, 2026 12:42 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 12, 2026 12:42 — with GitHub Actions Inactive
@k80bowman k80bowman temporarily deployed to AcceptanceTests March 12, 2026 12:42 — with GitHub Actions Inactive
@k80bowman k80bowman merged commit c5959bb into v11.0.0 Mar 12, 2026
17 checks passed
@k80bowman k80bowman deleted the k80/ps-exec branch March 12, 2026 13:05
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.

2 participants