dahlbyk/posh-sshell

General Project Questions

dahlbyk opened this issue · 24 comments

  1. Should this module be distributed via Chocolatey, or only PS Gallery?
  2. Following on from dahlbyk/posh-git#467, my recommendation would be to have the psd1 and psm1 live in the project root instead of inside src, so the module can be loaded easily from a fresh clone.
  3. Since posh-git v0.x will continue to support older PowerShell, should this module target Windows PowerShell 5.1 and PowerShell Core 6+?

Should this module be distributed via Chocolatey, or only PS Gallery?

What’re the download stats on ps gallery vs choclatey? My initial thought was ps gallery only, but if posh-git gets lots of downloads from chocately maybe we should distribute there too.

Following on from dahlbyk/posh-git#467, my recommendation would be to have the psd1 and psm1 live in the project root instead of inside src

Good idea

should this module target Windows PowerShell 5.1 and PowerShell Core 6+

Yes I think so.

What’re the download stats on ps gallery vs choclatey? My initial thought was ps gallery only, but if posh-git gets lots of downloads from chocately maybe we should distribute there too.

Downloads for 0.7.3 are about 25k/15k in favor of Chocolatey. Of course, if it weren't an option it's unclear how many would shift to PS Gallery.

Let’s keep it on chocately too then. Do you want to be responsible for managing releases and pushing packages or would you like me to handle that too?

Let's share!

Perfect!

I've changed my mind about Chocolatey...I think we should only publish on PS gallery initially, and we can always add a Chocolatey package later if it's frequently requested.

@dahlbyk There's already a posh-ssh module on powershell gallery (https://www.powershellgallery.com/packages/posh-ssh/2.0.2). Do we want to change the project name?

There's already a posh-ssh module on powershell gallery

Oh no! I'm fond of posh-sshit (pronounced "posh-ssh-it", of course).

posh-ssh-agent would work for current scope, but if the scope is going to expand to handle tab expansion for ssh... Maybe posh-sshell? Open to ideas, but yeah a rename is in order.

I like posh-sshell, I think some people might not like posh-sshit!

I like posh-sshell

Done

Thanks!

I've updated all text references and created an appveyor build

@dahlbyk Please could you turn on protected branches for master (if it's not on already)?

@dahlbyk thanks for enabling that, could you set it to allow me to push still though? I mainly wanted it to stop accidental force pushes. Thanks 😄

Edit: I also can't merge branches for PRs as It's also not triggering builds for branches (even though that's now enabled in the yml). I'm wondering if it's because the build is under my account rather than yours? Could you check the webhook settings as I don't have access to that?

Sorry! Webhook is definitely not set up - can you DM me the link? Or can you add me to the Appveyor project (dahlbyk@gmail)?

(Also, I have disabled requiring status checks for now)

Thanks, I've sent you an invite to the appveyor project, let me know if you don't get it.

Doesn't look like the status checks have been disabled...I'm still seeing "Required statuses must pass before merging" on the PR page, from the terminal I get ! [remote rejected] master -> master (protected branch hook declined)

Yeah, I must not have hit Save. Fixed.

@dahlbyk Everything should now be in place for feature parity with posh-git 0.x. I’ve also started working on new features in the feature/config-parser branch.

Anything else you’d like to see in place before pushing 0.1 to ps gallery?

Check out #10

As for the actual release process, my process for posh-git is typically:

  1. Create commit on release-vX.X.X that updates psd1 links and drops Prerelease (dahlbyk/posh-git@9c34bb9)
  2. Create annotated vX.X.X tag for that commit
  3. Create another commit that bumps version number and restores Prerelease to something we'll never actually release (so we can tell the difference between errors from clones vs published versions)
  4. Push branch + tag to GitHub and open PR

Anything you'd like to do differently here?

No that sounds like a good approach, I'm happy to stick with the same workflow.

I've written a script to automate the release tagging process - https://github.com/dahlbyk/posh-sshell/blob/master/prepare-release.ps1.

There's also a publish.ps1 that handles publishing to gallery.

Feel free to use either in posh-git if you think they'd be useful.

I've pushed out 0.1 to PS Gallery and added you as an owner